•插件初始化时会给宿主 AppDelegate 安装 APNs 注册回调桥接。
•捕获: ◦application:didRegisterForRemoteNotificationsWithDeviceToken: ◦application:didFailToRegisterForRemoteNotificationsWithError: •即使宿主没有转发 Cordova 的 CDVRemoteNotification,插件也能自己收到 APNs token。 •getFirebaseToken 等待 APNs token 时,会同时轮询 Firebase Messaging 已缓存的 APNSToken。 •返回结果增加诊断字段: ◦apnsTokenSource: plugin / firebase / none ◦cachedAPNSTokenAvailable ◦firebaseAPNSTokenAvailable
This commit is contained in:
1 parent
63703b966e
commit
8fcb440d8a
4 files changed
+221
-54
No files matched your search
@@ -152,7 +152,15 @@ BluememeUtils.requestPushPermission(function (permission) {
|
||||
}, error);
|
||||
```
|
||||
|
||||
iOS 上 FCM token 依赖 APNs device token。插件会在 `getFirebaseToken` 内等待 Cordova 收到 APNs token 后再向 Firebase 请求 FCM token;如果 APNs token 超时或注册失败,会返回 `APNS_TOKEN_NOT_AVAILABLE` 或 `APNS_TOKEN_FAILED`。
|
||||
iOS 上 FCM token 依赖 APNs device token。必须等待 `requestPushPermission` 的 success callback 返回后再调用 `getFirebaseToken`,不要把 `requestPushPermission()` 当成同步调用。
|
||||
|
||||
插件会在 `getFirebaseToken` 内等待 APNs token 后再向 Firebase 请求 FCM token。iOS 侧会同时使用三种来源降低宿主 AppDelegate 未转发回调造成的问题:
|
||||
|
||||
- 直接桥接 `application:didRegisterForRemoteNotificationsWithDeviceToken:`
|
||||
- 监听 Cordova 的 `CDVRemoteNotification`
|
||||
- 轮询 Firebase Messaging 已缓存的 `APNSToken`
|
||||
|
||||
如果 APNs token 超时或注册失败,会返回 `APNS_TOKEN_NOT_AVAILABLE` 或 `APNS_TOKEN_FAILED`。返回结果会包含 `apnsTokenSource`、`cachedAPNSTokenAvailable`、`firebaseAPNSTokenAvailable` 等诊断字段。
|
||||
|
||||
返回示例:
|
||||
|
||||
|
||||
Reference in new issue
Block a user