小编Tal*_* Sh的帖子

GCM"注册ID"已不再注册

我按照Google GcmClient应用程序中给出的步骤生成了存储在我的SharedPrefs中的registrationId.这样,只有在更改appVersion时才会重新生成register-id.

此reg-id被发送到我的服务器(基于Rails),并通过GCM gem(https://github.com/spacialdb/gcm)将通知发送到Android设备.

问题:有时服务器收到"未注册"的响应,尽管相同的register-id在失败前几分钟就已经工作了.

当发生这种情况时,我试图"清除数据"并且新生成的reg-id与最后一个不同... 注册ID可能在没有更新应用程序的情况下过期(当然我没有调用注销)?

我阅读了类似问题的帖子并谷歌但仍无法确定所有这些失败的常见现象.当我从GoogleStore(生产中)下载应用程序而不更新应用程序时,也出现了此问题.

注册到GCM的主要方法:

public static void register(Context context, IGcmRegisterationListener listener) {
    try {
        MyLog.v("GcmClient: Registering for GCM...");
        Context appContext = context.getApplicationContext();
        // Check device for Play Services APK. If check succeeds, proceed with
        //  GCM registration.
        if (checkPlayServices(appContext)) {
            MyLog.v("GcmClient: Looking for GCM regId locally");
            String currentRegId = getRegistrationIdFromPrefs(appContext);

            if (currentRegId == null) {
                MyLog.v("GcmClient: GCM regId not found.");
                registerInBackground(appContext, listener);
            }
            else {
                MyLog.v("GcmClient: GCM regId found: " + currentRegId);
                listener.onGcmRegistered(context, …
Run Code Online (Sandbox Code Playgroud)

android google-cloud-messaging

6
推荐指数
0
解决办法
475
查看次数

UnitySendMessage 不适用于非统一活动

我正在开发一个 android 插件,它应该启动另一个活动(使用 UI 和一切......)。此活动(当然不是从 UnityPlayerActivity 继承的)应该向 Unity C# 代码发送消息。我正在尝试调用 UnityPlayer.UnitySendMessage,在发送消息之前我看到了我的日志,但C# 端没有得到它(没有引发异常)。

这是从其他活动调用的回调:

@Override
public void generatePayload() {
   try {
      Log.v(TAG, "generatePayload was triggered");
      UnityPlayer.UnitySendMessage("AndroidObject", "generatePayloadMessage", "");
   } catch (Exception ex) {
      Log.e(TAG, "failed to send message to unity");
   }
}
Run Code Online (Sandbox Code Playgroud)
  • 我尝试从统一主要活动调用此方法,并且在统一端成功接收到消息。
  • 我也尝试从其他活动发送消息(我应该这样做)但在主线程中它也不起作用......

有什么建议?当 UnityActivity 不在前台时,我不能向 unity 发送消息吗?如果是这种情况 - 我该怎么办?

android unity-game-engine

5
推荐指数
1
解决办法
1280
查看次数