菜鸟教程小白 发表于 2022-12-11 18:27:39

ios - 如果设备 token 更改,如何向多个设备(属于一个用户)发送推送通知?


                                            <p><p>情况是这样的:</p>

<ol>
<li>用户在其 iPhone A 上登录应用</li>
<li>用户在 iPhone B 上登录同一个应用</li>
</ol>

<p>现在,在数据库中,一个用户有 2 个 token ,这是正确的。</p>

<pre><code>+---------+-------------------+
| user_id |   device_token    |
+---------+-------------------+
|       1 | 1st_device_token1 |
|       1 | 2nd_device_token1 |
+---------+-------------------+
</code></pre>

<p>假设,该用户删除了应用程序,然后再次安装(在两台设备上),这意味着 APN 中的 token 发生了变化,因此在我们的数据库中,有 4 个唯一 token 。</p>

<pre><code>+---------+-----------------------+
| user_id |   device_token      |
+---------+-----------------------+
|       1 | 1st_device_token1   |
|       1 | 2nd_device_token1   |
|       1 | 1st_device_token1_new |
|       1 | 2nd_device_token1_new |
+---------+-----------------------+
</code></pre>

<p>现在,该用户的推送通知将发送到 4 个设备(4 个 token )。
如果他们继续删除和安装应用程序(可能发生:)),我会在数据库中为一个用户拥有大量 token ,并认为他们拥有如此大量的设备,而实际上,有很多无效 token 。</p>

<p>如何预防?</p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>Pushwoosh 会定期从无效 token 中清除其数据库(每天一次左右),因此拥有“大量”条目应该不是问题。至于向一个用户的多个设备发送推送,有一个具体的<a href="http://docs.pushwoosh.com/docs/user-id-push" rel="noreferrer noopener nofollow">Push by UserID</a>本案例的功能。</p>

<p>这个想法是在登录事件上设置一个特定的用户 ID,并在注销时使用以下方法将其重置为默认值:</p>

<pre><code>[ setUserId:@“external_user_1”]
</code></pre>

<p>一旦设置了 UserID,您就可以使用“users”参数发送您的/createMessage API 请求:</p>

<pre><code>{
&#34;request&#34;: {
    &#34;application&#34;: &#34;APPLICATION_CODE&#34;,
    &#34;auth&#34;: &#34;API_ACCESS_TOKEN&#34;,
    &#34;notifications&#34;: [{
      &#34;send_date&#34;: &#34;now&#34;,
      &#34;content&#34;: &#34;Hello world!&#34;,
      &#34;users&#34;:[&#34;external_user_1&#34;]
    }]
}
}
</code></pre>

<p>所有付款计划都可以使用此功能,因此您应该可以使用它。</p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - 如果设备 token 更改,如何向多个设备(属于一个用户)发送推送通知?,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/41400431/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/41400431/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - 如果设备 token 更改,如何向多个设备(属于一个用户)发送推送通知?