我有一个Android应用程序,有两个Parse.com
环境:dev
和prod
。代码库完全相同:Android Manifest
文件中的所有配置和订阅推送的代码都是一样的。
但是出于某种原因,当我进行推送时,它适用于dev
,而不适用于prod
。
这就是我正在做的事情:我要转到网站上的"Push
"选项卡,然后单击"Send Push
"。然后我选择> Android> MyNewAndroidCannel。它说This will be sent to 1739 devices.
然后我输入我的消息并发送推送 - 但推送发送计数为 0。
如果我在dev
环境中做同样的事情,一切正常。
知道为什么会这样吗?我可以将所有配置条目和代码复制到这个问题中,但这似乎毫无意义,因为我知道它们根据 Parse.com
上应用程序定义中的某些内容工作/不起作用。
当我查看Parse.com
应用程序的推送设置时,它们在dev
和prod
环境中看起来完全相同。
编辑:添加信息。在我的dev
应用程序中,deviceToken
是为Android安装填充的,但在prod
应用程序中则不是。在dev
的安全性中,我启用了Delete
和Add Fields
选项,但在prod
中它们disabled
.这是问题所在吗?允许更新和删除安装是否安全?
似乎问题是我禁用了installation
对象上的Add fields
,并且 - 我猜 - 当 Parse 更改 Android 推送机制时,他们还添加了对pushType
字段的要求。
因此,pushType
被installation
安全拒绝,deviceToken
未填充,推送失败。一旦我将pushType
列添加到installation
,推送就会再次开始工作。