问题标签 [appcelerator-arrow]

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 投票
0 回答
66 浏览

push-notification - 删除箭头推送通知

我正在使用 Arrow 来管理推送通知。在文档中有通过 Arrow API 发送通知的说明,但没有关于如何删除设备中已发送的通知的信息。

有人知道怎么做吗?

0 投票
1 回答
49 浏览

appcelerator - Appcelerator Arrow App - 最多发布 10 个版本的限制?

尝试发布 Appcelerator Arrow 应用程序的新版本时,出现以下错误

Appcelerator 上没有任何关于这种限制的文档,所以我很难过!也就是说,我如何删除旧版本来解决这个问题 - 除了活动版本之外,我不关心要维护的先前版本?

请注意,我有 Appcelerator Arrow 平台的付费订阅,所以这更令人惊讶。

0 投票
0 回答
61 浏览

rest - 由于字段名称中的“_id”,使用 arrowdb 错误执行 batch_create

首先 - 对任何新用户的公平警告,远离 appcelerator,该团队应该为他们所做的工作感到羞耻。请继续阅读示例。如果我错了,我会很高兴地承认。客户的数据已经存在,并且移动应用程序正在使用现有字段名称进行生产。

我正在使用arrowdb上的(付费)帐户针对他们的箭头云数据源执行batch_create。单个查询都运行良好,所以我知道没有关键或一般的连接问题。登录有效,我可以进行手动或自动会话管理,并且对于查询、创建、删除等都非常有效。

我正在使用节点 arrowdb 1.06 库。

现在我们进入batch_create,登录后我的代码如下所示:

使用此代码,我收到此错误:请求返回 HTTP 状态代码 400 索引 0 处的无效对象:无效 BSON id 17 如果我将字段名称“idp_id”更改为“idpid”,问题就会消失并创建批处理。或者,如果我将内容从“17”更改为任何 GUID“xxxxxxxxxxxxxxxxxxxxxxxx”格式。

所以问题是,有没有人知道在没有 API 验证内容必须是 GUID 格式的情况下在字段名称中包含“_id”的方法?就像我说的数据已经存在,我们不想更改字段名称并且必须更新客户端应用程序(Web 应用程序、移动应用程序等)。

为什么他们会简单地验证任何带有“_id”的字段作为指导?他们不是在单次创作上做的吗?我有数十万个必须插入的对象,并且想批量创建它们。

感谢您的帮助。除了对 ACS 的糟糕体验之外,从来没有其他任何事情,总是去 AWS 的人......

0 投票
1 回答
158 浏览

android - Appcelerator Android GCM 错误 3009

推送通知已停止为我工作。我已尝试通过 Appcelerator 仪表板发送通知,但请求失败并显示日志 GCM 错误 3009(见下图)。我使用 Appcelerator 的 Arrow 云服务的 GCM 配置并没有改变,并且之前一直有效。我确实将我的项目从 5.3 更新到了 5.5.1,但回到以前的版本并没有解决问题。

在应用程序方面,我确认我已成功获得推送通知令牌、登录 ACS 并订阅频道。

因为 Arrow Cloud Service 是我们与 GCM 相关的服务器,所以我不确定我能做什么。在此处输入图像描述

0 投票
0 回答
117 浏览

google-cloud-messaging - 什么可能导致 ti.cloud 停止在状态栏中显示 Android 推送通知 (GCM)

我之前设置了一个带有推送通知的 Appcelerator Titanium 项目(根据我的堆栈溢出问题How to configure Android Push Notifications (GCM) in Appcelerator Titanium Dashboard?),并且几个月来我的 Android 应用程序一直在从 GCM 接收适当的推送通知,但是我现在收到来自最终用户的报告说这不再有效。

流程通常是这样的...

  • Android 应用程序将 android 推送令牌发送到我的 Java 服务器
  • Java 服务器持久化 Android 推送令牌
  • Java 服务器为 GCM 设置 Amazon Web Service SNS 端点并存储此端点以供以后使用。

(一段时间过去了)

  • Java 服务器使用 GCM 有效负载调用 Amazon Web Service SNS 端点
  • Amazon SNS 将消息传递给 Google GCM
  • GCM 将消息传递给 ti.cloud / ti.cloudpush
  • 手机显示推送通知

该应用程序确实收到了推送通知,并且我显示了一个应用程序对话框来显示消息的内容,但是没有显示系统托盘推送通知,而我认为它过去是这样做的。也不播放系统声音。

我可以看到,如果应用程序没有运行,那么当收到推送通知时,应用程序就会启动,但如果显示屏没有打开(或锁定),那么一段时间内将不会发现该消息。我真的需要将本机/系统推送通知放在托盘中。

有谁知道为什么不显示系统/状态通知?应该在使用 ti.cloud / ti.cloudpush for Android 时使用吗?

谢谢罗布。

0 投票
0 回答
37 浏览

appcelerator - 在 iOS 应用中,多次收到推送通知

我的 iOS 应用收到推送通知。然后应用程序关闭并在后台运行。重新打开应用程序后,再次收到推送通知。只有当应用程序完全关闭时,才会不再出现推送通知。为什么?你怎么能防止这种情况发生?

0 投票
3 回答
484 浏览

android - Appcelerator/Titanium:无法向 Android 发送推送通知

我希望能够在 Android 上使用 Titanium 和 Arrow Push 发送推送通知。

我已按照此处的说明进行操作:

配置推送服务

订阅推送通知

模块.CloudPush

我的简单代码如下所示:

上面的大部分代码都与文档类似。代码的订阅方面似乎工作得很好,因为用户的设备也出现在 Appcelerator 仪表板的设备部分。

但是,在从 Appcelerator 仪表板发送通知时,我的 Android 设备旁边会出现“失败”一词。

推送通知错误

突出显示“?”时的完整错误消息 图标如下:

异常类型:GCM;错误代码:3103;错误消息:RegistrationId(s) 为空或为空;捕获的异常:参数不能为空

我在http://docs.appcelerator.com/arrowdb/latest/#!/guide/troubleshooting上查看了这个错误,它说的是:

GCM 客户端提供了一个 null 或空的注册 ID。如果您使用的是 Modules.CloudPush 模块,则此错误并不常见。

这没有帮助。

我究竟做错了什么?这是加速器方面的错误。

0 投票
2 回答
621 浏览

android - Appcelerator/Titanium:获取 Android 凭据以推送通知

我希望能够在 Android 上使用 Titanium 发送推送通知。但是,每当我尝试此操作时,都会出现后端错误,我认为这与无效凭据有关。我尝试关注文档,但它们似乎已过时。

这是我所做的:

  1. 我去了 Google API 管理器并启用了“Google Cloud Messaging”。
  2. 在 Credentials > OAuthConsentScreen 下,我添加了电子邮件、产品名称和 url
  3. 在 Credentials > Create credentials > OAuthClientID > Web Application 下,我给它起了一个名字,并将一些 URL 放在 Authorized JavaScript origins 下,比如 localhost。这是否需要特定的东西,因为它没有在文档中提到。
  4. 然后谷歌给了我一个客户端 ID 和一个客户端密码。这是文档过时的地方

    • 客户端 ID 的格式为: 123456789012-XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.apps.googleusercontent.com
    • 客户端密码的形式为: XXXXXXXXXXXXXXXXXXXXXXXX
  5. 然后,我导航到 Appcelerator 仪表板中的推送通知部分,然后单击“Android 云消息传递”。请注意,根据文档我应该:

在 GCM API 密钥字段中输入服务器密钥,在 GCM 发件人 ID 字段中输入 GCM 发件人 ID

然而,现在双方的领域不同。因此,我将以下内容从 Google 复制到 Appcelerator:

  • Google 的 Appcelerator 服务器密钥的客户端密钥
  • Google 的客户端 ID 到 Appcelerator 的服务器 ID

/

  1. CloudPush然后我使用建议的模块将我的 Andriod 设备订阅到一个频道(效果很好)

  2. 但是,在从 Appcelerator 仪表板发送通知时,我的 Android 设备旁边会出现“失败”一词。

推送通知错误

突出显示“?”时的完整错误消息 图标如下:

异常类型:GCM;错误代码:3103;错误消息:RegistrationId(s) 为空或为空;捕获的异常:参数不能为空

我在http://docs.appcelerator.com/arrowdb/latest/#!/guide/troubleshooting上查看了这个错误,它说的是:

GCM 客户端提供了一个 null 或空的注册 ID。如果您使用的是 Modules.CloudPush 模块,则此错误并不常见。

这没有帮助。

我究竟做错了什么?我认为我输入的凭据错误,但不知道如何。

我使用的文档如下:

配置推送服务

订阅推送通知

模块.CloudPush

谢谢!

更新

经过很多建议后,我通过转到“创建凭据”>“API 密钥”创建了另一组凭据。这给出了形式的新键XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX。然后我用:

  • Google 为 Appcelerator 的服务器密钥提供的 API 密钥
  • Google 的项目编号(格式123456789012为 ),用于 Appcelerator 的服务器 ID

但是,仍然会出现完全相同的错误。

更新 2

在阅读了另一个 Stack Overflow 答案(Appcelerator 钛 Android 推送通知 GCM 失败?)后,我决定将应用程序链接到 Firebase。在 Friebase 仪表板上,我转到“Cog”>“项目设置”>“云消息传递”。

它向我显示了发件人 ID(与项目编号完全相同)和不同的服务器密钥。

当我使用这些凭据时,在发送推送通知时会收到一个稍微不同的错误:

异常类型:GCM;错误代码:3006;错误消息:registration_id 中包含的 sender_id 与用于向 GCM 服务器注册的 sender_id 不匹配