问题标签 [instanceid]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
890 浏览

java - Oracle:BPEL->Java Callout->BPEL:如何使它们属于EM中的同一个调用树?

BPEL 流程包含一个 Java 调出,用于执行在 BPEL 中不切实际的逻辑。

该 Java 调用又调用另一个 BPEL 工作流(使用 DII WS 调用)。

一切正常,除了一个烦人的细节:在企业管理器中查看调用堆栈时,这两个 BPEL 流程没有链接(即没有显示为一棵树)。这会导致故障排除时出现一些延迟和混乱。

当使用常规调用步骤调用同一个子 BPEL 时,流程将被链接。

问题是:BPEL 如何将父信息传递给子流程?我认为这是一些 HTTP 或 SOAP 标头,我将很快进行调查。我希望之前有人遇到过这个挑战,并且会概述我所有必要的步骤。:-)

0 投票
1 回答
169 浏览

unit-testing - UnitTest WorkflowInstanceID 异常

我正在对 StateMachineWorkflow 进行单元测试,我通过单击我的测试项目来创建我的测试方法,然后我创建了 Add - UnitTest。在项目窗口中,我选择要测试的工作流以及其中的所有方法。

Visual Studio 在我的测试项目中生成了一个带有工作流访问器的测试参考文件夹。它还生成了测试所需的所有 TestMethod()。所有测试方法都使用 MyWorkflow_Accessor 目标 = new MyWorkflow_Accessor()。当我需要调用一个函数时,我只需执行类似 target.SendEmail() 的操作。

一切正常,除了一件事:我不能使用 Workflow 的 WorkflowInstanceId,当代码到达使用它的行时,它会在 Workflow 中引发异常,“这是一个无效的设计时操作。你只能执行运行时操作。 ” 是否可以通过代码注入 WorkflowID?这种情况有什么解决方法吗?我在很多函数中使用 WorkflowInstanceId 并且更改 Workflow 代码以匹配我的测试似乎不是一个好主意,因为我相信问题出在测试中而不是在工作流中。

0 投票
2 回答
1951 浏览

nullpointerexception - GoogleCloudMessaging InstanceID.getInstance 返回 null

我一直在寻找我面临的问题,但还没有找到任何与我尝试从 GoogleCloudMessaging 获取 InstanceID 相关的信息。我尝试在扩展 IntentService 的类中设置调用,并尝试使用 AsyncTask 在后台调用它,但无济于事。

我一直在关注如何设置清单和应用程序以获得正确信息的教程。有人知道可能出了什么问题吗?我的日志说 InstanceID.getInstance(getApplicationContext()); 处有一个 nullPointerException

我的电话:

登录后,我将这个类放在我的 LandingPage 类中,并通过以下方式调用它:

在检查播放服务是否是最新的并更新后立即调用。

有任何想法吗?如果我需要提供更多信息,我可以,但这只是我可以发布的一小部分。

编辑:尝试将意图过滤器添加到清单中的服务并检查 getApplicationContext() 是否为空,这就是返回的异常告诉我的内容:

这是从我的 catch 块返回的错误消息:尝试在空对象引用上调用虚拟方法 'android.content.Context android.content.Context.getApplicationContext()'

所以我猜 getApplicationContext 返回null?

0 投票
3 回答
15118 浏览

android - GCM 令牌什么时候到期,InstanceID 是什么?

由于 GCM 不断更新,我搜索过的大部分资源似乎都已过时或不清楚。基本上,我对令牌和 ID 何时到期感到困惑。(作为参考,我正在使用 Android。)

据我了解(如果我错了,请纠正我),我的服务器有一个 API 密钥和一个发件人 ID。使用发件人 ID,我可以让我的客户通过本地存储在我的客户端上的 InstanceID 请求令牌。我已经有点困惑了。InstanceID 是在我的应用上线时分配的?它会改变吗?当应用程序升级或卸载并重新安装(或设备恢复)时怎么办?通过调用 InstanceID.getInstance,我将始终检索相同的 InstanceID,还是它最终会过期并给我一个新的?通过调用 getID() 存储您检索的字符串是否有任何价值?文档似乎表明您在调用 getID() 时实际上检索了一个新的 InstanceID,因此这使事情变得更加复杂。(供参考,我指的是:https://developers.google。)

使用 InstanceID,我的客户端可以从 GCM 服务器请求令牌,然后将其发送到我的应用服务器。我的应用服务器存储了这个 Token,并可以使用它向 GCM 服务器发送消息,然后 GCM 服务器将消息发送到设备。我相信,设备使用存储的 InstanceID 来实际接收这些消息。那么拥有一个扩展 GcmListenerService 的类将允许我使用 onMessageReceived 接收这些消息吗?我不需要做任何特别的事情(除了在 AndroidManifest 中定义它)?我不必实际告诉它使用 InstanceID?它只是神奇地知道吗?

这些 ID 和令牌什么时候到期?它们会过期吗?我将令牌作为字符串存储在服务器上,但如果其中任何一个过期,我怎么知道它们已经过期?我总是可以生成一个新的 InstanceID 和 Token,这看起来很容易,但是旧的是否保持活动状态?如何从服务器上擦除旧令牌?似乎有一种简单的方法可以在 iOS 端使用 APNS 执行此操作,您可以在其中检索所有过期令牌的列表,然后将它们从数据库中擦除。

0 投票
0 回答
1170 浏览

android - InstanceID 和 Regid GCM

正如我所读到的,函数 gcm.register() 已被弃用。我可以使用 InstanceID.getToken() 代替......

我按照这里的描述使用它, 但每次运行应用程序时,我都会得到新的 RegID(实例 ID)。

这是我如何注册的:

然后我将“regid”发送到我的服务器并将其保存到数据库中,直到现在一切正常,但是当我通过 GCM 向服务器发送消息时(gcm.send(...); )并调用“from”消息的字段(在服务器端)我得到一个不同的 regID,每次我重新启动应用程序并发送时,我都会得到新的 regID(对于每个实例,regId 都已更改)。

如何将实例 ID 用作常量 RegID,我阅读了文档但没有了解如何!

0 投票
1 回答
353 浏览

android - 使用 GCM 3.0 Instance ID API 时是否需要更改 API 密钥?

目前我正在GCM 3.0使用InstanceID API.

在此之前,我使用GCM 2.0 register()推送通知的方法,为此我在 Google 开发人员控制台上创建了项目并创建Server API key用于向设备发送推送通知

所以现在我GCM 3.0通过引用这个链接迁移到。在生成配置文件时,它会询问两件事:

  1. 选择现有项目或创建项目
  2. 应用程序包名称

通过提供这两个详细信息,它将自动生成新的Server API key,但我之前已经创建API key了。

那么是否有必要从旧API key换新API key或坚持旧有API key

0 投票
1 回答
1514 浏览

android - 清除应用程序数据时实例 ID 未失效

我已经实现GCM 3.0了使用和服务器Instance ID API向应用程序发送推送通知。ApplicationGCM

这是我所指的 GCM 文档的实例 ID API 。

当用户在未注销的情况下直接卸载应用程序时,会为已卸载应用程序的设备GCM提供"Not Registered"错误。

我要做的是删除无用Device id tokensApplication server,因为我尝试过卸载应用程序然后Instance ID更改,但是当用户清除应用程序数据时,new Instance ID将与previous Instance ID.

虽然Android GCM文档说:

实例 ID 是稳定的,但可能会变为无效,如果:

  • 应用删除实例 ID
  • 设备已恢复出厂设置
  • 用户卸载应用
  • 用户清除应用数据

这有什么特别的原因吗?

0 投票
2 回答
305 浏览

android - InstanceID,如果我没有成功将令牌发送到我的服务器怎么办?

我使用 Google Cloud Messaging (GCM) 创建了一个推送通知服务器 (PNS)。使用这种架构,我的服务器必须知道与用户关联的令牌才能向他发送推送通知。

我扩展了InstanceIDListenerService在刷新令牌时正确通知的类(我用 adb 对其进行了测试)。当它的方法onTokenRefresh()被调用时,我会使用新的令牌,到目前为止,一切都很好。

我的问题如下:如果我无法将此新令牌发送到我的服务器怎么办?(网络错误、缺少连接、设备突然关闭或其他原因……)。我是否必须存储服务器不知道我的新令牌的某个地方(首选项?)并在可能的情况下重试?有没有办法让操作系统执行这个操作?

0 投票
0 回答
1189 浏览

android - GcmReceiver 中的安全异常

我有一个使用 GCM 接收推送通知的应用程序。我收到了一些带有以下跟踪的崩溃:

它并非在所有设备上都发生。我正在使用 Google Play 服务 7.5。这是我的清单文件中的权限和其他 gcm 相关内容:

谁能告诉我这里发生了什么。谢谢。

0 投票
0 回答
318 浏览

android - 为某些请求获取 GCM 注册响应“超出用户注册限制”

我们有一个使用 Instance ID API 向 GCM 注册的 Android 应用程序。

不幸的是,Google Play 开发者控制台中的 GCM 统计数据显示,一些注册尝试显然得到了响应代码"HTTP 200 - User Registration Limit Exceeded"的响应。

GCM 响应代码图的 GCM 注册 GCM 注册响应码饼图

这只是 0.01%,但我们仍然想知道,为什么以及何时会发生这种情况,以及我们能做些什么。

我没有找到有关“用户注册限制”的任何信息。似乎有或似乎有发送通知的限制,但是注册呢?

使用 Instance ID API 的 GCM 注册是否有任何配额?

注册是按照官方文档实现的,所以我们基本都是调用[ instanceID.getToken]( https://developers.google.com/android/reference/com/google/android/gms/iid/InstanceID.html#getToken(java.每个应用程序上的lang.String、 java.lang.String 、 android.os.Bundle)) 开始如下: