在 android 中重新安装 Phonegap 应用程序时获取不同的 channelId

Gets channelId different at all reinstallation of Phonegap app in android

我正在开发具有 UrbanAirship 推送通知功能的 应用程序。我正在获取用于注册的 pushId。在 iOS 中,它在所有重新安装应用程序时提供相同的 pushId,但在 Android 中,pushId 在所有重新安装时都发生了变化。 我在所有重新安装时都需要相同的 pushId。

插件 java 文件使用这行代码 :-

String pushID = PushManager.shared().getAPID();

我正在尝试使用 getChannelId() 方法,但出现错误 找不到方法 .

我该怎么做才能获得所需的信息。

请给我一些指导。

您将始终在 Android 上获得新的 pushID,因为这就是 GCM 的工作方式。它本质上是应用程序的一个新实例。因为它是一个新实例,所以您的新实例将有一个新 ID。此外,Urban Airship 的 phonegap 是建立在其原生库之上的,后者是在 OS 的平台上构建的。在 Android 的情况下,这是 GCM。 Their docs are here 关于此事,其中明确指出:

You should not save the registration ID... . This is because the registration ID could become invalid by the time the app is restored, which would put the app in an invalid state

同样,Urban Airship 是在此之上实现的,因此不会保存该 ID,因此您在卸载和重新安装时将永远不会收到相同的 pushID。