菜鸟教程小白 发表于 2022-12-13 12:00:10

android - 向目标设备发送推送通知


                                            <p><p>我有一个为在线商店创建的移动应用(iOS 和 Android)。此特定版本的应用程序仅供卖家使用。其中有一个部分用作帮助台。基本上买家可以开票,向卖家发送消息等。所以我想做的是每次买家这样做时,卖家应该在他的设备上收到推送通知。</p>

<p>保存买家、卖家和其他一切记录的数据库在单独的服务器上运行。我可以有某种 cron 工作来定期检查买家打开的新案例。我希望使用 <a href="http://parse.com/" rel="noreferrer noopener nofollow">Parse</a>处理推送通知。 </p>

<p> <a href="/image/lOOmd.png" rel="noreferrer noopener nofollow"><img src="/image/lOOmd.png" alt="enter image description here"/></a> </p>

<p>现在我陷入困境的是如何将我的数据库服务器与 Parse 相关联。</p>

<p>我目前的计划是这样的。</p>

<p> <a href="/image/5b6DH.png" rel="noreferrer noopener nofollow"><img src="/image/5b6DH.png" alt="enter image description here"/></a> </p>

<ol>
<li><p>应用程序启动,卖家首次登录。 Parse SDK 向其服务器注册设备。除此之外,使用单独的网络服务,我希望保存 Parse 生成的唯一 ID(在 <a href="https://stackoverflow.com/q/28840708/1077789" rel="noreferrer noopener nofollow">research</a> 上,我发现合适的唯一 ID 称为 <em>Installation ID</em>)和登录的卖家 ID在我的数据库中也是如此。</p></li>
<li><p>当 cron 作业找到一个打开的案例时,它会检索它应该去的卖家 ID。连同它,那个安装 ID。</p></li>
<li><p>我的服务器使用 Parse 的 REST API 发送一个 HTTP 请求以向具有该安装 ID 的设备发布推送通知。</p></li>
</ol>

<p>一个问题。他们没有在 <a href="https://parse.com/docs/rest/guide#push-notifications-sending-pushes" rel="noreferrer noopener nofollow">docs</a> 中指定传递安装 ID 的方法。 .</p>

<p>我想知道这是否可能?或者如果有更好的方法来解决这个问题?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>很确定这是可能的。首先你可以通过<code>PFInstallation</code>获取<code>installationId</code>:</p>
<pre><code>PFInstallation.currentInstallation().installationId // swift
</code></pre>
<p>或</p>
<pre><code>.installationId// Objective-C
</code></pre>
<p>不了解android,但可能类似</p>
<pre><code>ParseInstallation.getCurrentInstallation().getInstallationId() // Java
</code></pre>
<p> <a href="https://parse.com/docs/osx/api/Classes/PFInstallation.html" rel="noreferrer noopener nofollow">https://parse.com/docs/osx/api/Classes/PFInstallation.html</a> <a href="https://parse.com/docs/android/api/com/parse/ParseInstallation.html" rel="noreferrer noopener nofollow">https://parse.com/docs/android/api/com/parse/ParseInstallation.html</a> </p>
<h1>发送推送</h1>
<p>然后你实际上必须发送推送:看看 <a href="https://parse.com/docs/rest/guide#push-notifications-using-advanced-targeting" rel="noreferrer noopener nofollow">Parse REST guide</a>在“使用高级定位”下。</p>
<p>您可以使用如下 curl 查询:</p>
<pre><code>curl -X POST -H &#34;X-Parse-Application-Id: %appId%&#34; -H &#34;X-Parse-REST-API-Key: %api key%&#34; -H &#34;Content-Type: application/json&#34; -d &#39;{ &#34;where&#34;: { &#34;installationId&#34;: &#34;%installationId%&#34; }, &#34;data&#34;: { &#34;alert&#34;: &#34;The Giants scored a run! The score is now 2-2.&#34; } }&#39; https://api.parse.com/1/push
</code></pre>
<p>这里的重要部分是 <code>{ "where": { "installationId": "%installationId%"}</code> 它将推送消息仅发送到与查询匹配的安装 - 正是一个安装使用给定的 ID。</p>
<p>我刚刚尝试并仅在特定设备上收到推送消息 :)</p></p>
                                   
                                                <p style="font-size: 20px;">关于android - 向目标设备发送推送通知,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/33957840/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/33957840/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: android - 向目标设备发送推送通知