2016-07-10 26 views
10

Tôi đang sử dụng OneSignal để có thông báo đẩy.Thông báo đẩy với OneSignal: Điều gì có nghĩa là "Không có mã thông báo đẩy"?

Trong danh sách đã đăng ký, một số thiết bị/người dùng được đánh dấu bằng No (No Push Token). Giải thích cho biết: This user has no push token and cannot be targeted.

Điều đó xảy ra cho iOS devices cũng như cho Android devices.

Điều đó có nghĩa là gì? Tại sao nó lại xảy ra? Làm thế nào để thay đổi nó?

Trả lời

1

Điều này có nghĩa là OneSignal không nhận được pushToken từ thiết bị, tuy nhiên thiết bị có thể đăng ký bằng tài khoản OneSignal của bạn. Trên iOS, pushToken được gọi là mã thông báo thiết bị, trên Android đây là id đăng ký Google.

Tùy thuộc vào SDK OneSignal bạn đang sử dụng có chức năng setLogLevel có thể được gọi trước khi bạn gọi init OneSignal để thêm ghi nhật ký bổ sung. Điều này sẽ được in trong nhật ký Xcode cho iOS hoặc adb logcat cho Android. Ngoài ra, hãy đảm bảo bạn đang sử dụng SDK OneSignal mới nhất.

Bạn cũng có thể liên hệ với OneSignal thông qua bong bóng trợ giúp ở cuối trang khi đăng nhập và họ có thể kiểm tra tài khoản của bạn để giúp chẩn đoán sự cố.

+7

Cùng một vấn đề ở đây. Đã làm tất cả mọi thứ được đề cập trong tất cả các xử lý sự cố không thành công. iOS SDK không đăng ký người dùng trên iOS 10 Xcode 8 nhanh chóng 3. – GIJOW

1

Bạn có thể kiểm tra xem tính năng "Thông báo đẩy" có được bật không? Nếu không, hãy bật nó lên và xem nó có hoạt động hay không, nếu không hãy đọc.

Đảm bảo bạn đang chạy phiên bản SDK OneSignal mới nhất (2.1.14) vì phiên bản này đã giải quyết được vấn đề. Tiếp theo, hãy thử các bản sửa lỗi sau:

Fix 1

Từ bảng điều hướng, chọn dự án xanh hàng đầu của bạn. Sau đó chọn mục tiêu của bạn và điều hướng đến Cài đặt Xây dựng. Tìm kiếm các cờ liên kết khác và thêm mục sau đây: -ObjC

Làm sạch một dự án và chạy lại, xem nó có hoạt động hay không.

Fix 2

Trong tiêu đề cầu nối của bạn (nếu bạn có), hoặc trên bất kỳ tập tin tiêu đề đó được hiển thị cho App ủy quyền của bạn, tạo ra một phần mở rộng cho lớp OneSignal trong đó bạn xác định các phương pháp giao diện sau :

+ (void)didRegisterForRemoteNotifications:(UIApplication*)app deviceToken:(NSData*)inDeviceToken; 

Tiếp theo, ghi đè lên các phương pháp didRegisterForRemoteNotifications đại biểu trong đoàn ứng dụng của bạn và gọi các phương pháp trên vào OneSignal và vượt qua cả hai tham số để SDK.

+0

Cảm ơn Joseph, bản nâng cấp đã sửa nó cho tôi (nay là 2.1.15). Chưa bao giờ có vấn đề với OneSignal trước đây! –

1

Lưu ý rằng có một lỗ hổng đáng kể trong SDK OneSignal khi được sử dụng trong XCode 8 lên phiên bản 2.1.10 dẫn đến việc đăng ký No push token cho thiết bị iOS này khi bao gồm gói sử dụng Cocoapods (phương pháp được khuyến nghị). Đảm bảo bạn cập nhật nhóm của mình.

Xem release notes for 2.1.11:

Cố định một vấn đề 'Không Đẩy Mã' trong 2.1.10 rằng sẽ xảy ra khi OneSignal được tải qua CocoaPods và bao gồm vỏ khác mà sử dụng lá cờ -ObjC.

0

Như câu trả lời khác được đề cập, có lỗi trong 2.1.10 cho thiết lập CocoaPods. Vì vậy, tôi đã thay đổi

từ

pod 'OneSignal' ## points to 2.1.10 

để

pod 'OneSignal', :git => 'https://github.com/OneSignal/OneSignal-iOS-SDK.git', :branch => 'master' 
Các vấn đề liên quan