【问题标题】:Is it strictly necessary to use Urban Airship SDK on the device是否必须在设备上使用 Urban Airship SDK
【发布时间】:2013-11-10 22:56:50
【问题描述】:

我们在 android 和 iOS 上有一个应用程序,它目前直接从 GCM/APN 获取令牌并将其传递到我们的服务器。我们的服务器将消息直接发送到 GCM/APN 通知服务器。我们希望在不改变客户的情况下迁移到 Urban Airship。我可以想象,通过让我们的服务器代表客户端设备将 APN/GCM 令牌转发到 Urban Airship,这在技术上是可行的,因为无论如何我们都获得了令牌。 UA 只需要 APN/GCM 令牌,因此无论是设备将其发送给他们还是我们的服务器正在发送它都无关紧要,只要他们获得令牌即可。我假设他们的服务器会给我们发回第二个 UA 令牌,这就是我们从那时起用来通过 UA 发送消息的东西。

所以不要这样:

Device --> 
  UA-SDK -> 
     Get-APN-Token
     Register-With-UA
  Register-With-Our-Servers    

我们可以这样做吗:

Device -->
  Get-APN-Token
  Register-With-Our-Servers -->
      Register-With-UA

主要区别在于只有我们的服务器与 Urban Airship 交互,而客户端并不关心。

这可能吗?

【问题讨论】:

    标签: android ios push-notification apple-push-notifications urbanairship.com


    【解决方案1】:

    这是不可能的,因为 UA 的 SDK 还会生成称为 APID 的东西,用作 Android 上的唯一标识符,该标识符存储在设备端以启用推送通知。 UA 将 APID 用于与设备的所有交互。

    这就是为什么也不存在用于创建 APID 的服务器端方法的原因。

    SDK 将是最佳途径。不过,这实际上是一个非常简单明了的集成:http://docs.urbanairship.com/build/android.html

    干杯,-B

    【讨论】:

    • 谢谢,我希望避免更新我们所有的客户,但如果没有像你说的那样的服务器 api,那我别无选择。但是如何将现有的 APN/GCM 令牌迁移到 APID?必须有一些 API 才能做到这一点吗?
    • 是的,很遗憾,您必须更新您的应用程序。好消息是,一旦你加入 SDK,它会自动生成映射到 GCM 令牌的 APID——我认为你不需要在 Android 端迁移任何东西。在 APN 方面,可以使用设备注册 API 并结合将 SDK 添加到应用程序来迁移它们。这样做的好处是不会向用户发送第二次推送通知选择加入请求。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多