问题描述:
我们有一个服务,它有主要移动操作系统的应用程序.我们使用推送通知.当用户登录时,我们存储他的设备授权数据(比如令牌)以供稍后在推送服务中使用.问题是一个用户的设备授权很少,并且在用户卸载应用程序时正确地保持它们有效.
例:
我把我的系统登录系统给了几个人,以防万一.他们通过暴徒登录.应用程序和系统自动将一些设备授权添加到数据库(令牌)中.所以现在我们有1个用户的N个设备令牌.因此,如果我们发送推送通知,则每个人都会收到它.现在,假设已安装应用程序的用户想要卸载它.没有注销,他们通过应用程序管理器卸载应用 此时我们没有授权设备的有效数据.如果我们尝试通知他们,通知将无处发送.这对于服务器来说是错误的,无用的工作.如何让核心知道某些存储的数据不再有效?
很快 - 在Android/iOS中是否有可能触发应用程序删除事件.如果应用程序正在删除应用程序调用服务器以清理存储中的数据.或者,如果应用程序处于打开状态且用户将其卸载,是否会触发onDestroy()触发器?还是其他一些?
我不是iOS开发人员,不是Android开发人员,只知道第二个,而不是第一个.任何建议将被认真考虑.提前致谢.
我有两个表A
和B
,由字段A
引用,因此任何值都存在于.B
A.id_b B.id
id_b
B.id
我有三个疑问:第一个:
SELECT COUNT(b.id)
FROM B b
WHERE b.id NOT IN (
SELECT a.id_b
FROM A a)
Run Code Online (Sandbox Code Playgroud)
它给了我0
;
第二个,区别仅在于NOT
:
SELECT COUNT(b.id)
FROM B b
WHERE b.id IN (
SELECT a.id_b
FROM A a)
Run Code Online (Sandbox Code Playgroud)
这个查询给了我: 1899
第三个:
SELECT COUNT(b.id)
FROM B b
Run Code Online (Sandbox Code Playgroud)
这个查询给了我 3599
相同的结果:
SELECT a.id_b
FROM A a
Run Code Online (Sandbox Code Playgroud)
保证我B.id
分成两组,并且两组中的元素数必须很多总元素数,但我有:1899 + 0 != 3599。
那怎么可能?
我正在使用PHP页面来构建电子邮件.部分电子邮件文本由来自较早页面的$ POST变量提供.一些变量包含空格,这导致字符串在我的电子邮件中截断为单个单词.有关如何将整个字符串放入电子邮件文本的任何语法建议?'.$ _POST ['VariableName'].'显然不起作用.
$message = '
<html>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>EuroClassic Transfer Notice</title>
</HEAD>
<body bgcolor="#F5EEDB">
<TABLE ID=hor-minimalist-b SUMMARY=EuroClassic Customer>
<THEAD>
<TR>
<TH colspan=4 scope=col>Shipping Logistics:</th>
</TR>
</THEAD>
<TBODY>
<TR>
<TD>Shipping From: </TD>
<TD><INPUT type=text size=35 name=from value=' . $_POST['from'] . '></TD>
<TD>Shipping To: </TD>
<TD><INPUT type=text size=35 name=ToLocation value=' . $_POST['ToLocation'] . '></TD>
</TR>
<TR>
<TD>PO Number: </TD>
<TD><INPUT type=text size=20 name=PO value=' . $_POST['PO'] . '></TD>
<TD>Address: </TD>
<TD><INPUT type=text size=35 name=address value=' . …
Run Code Online (Sandbox Code Playgroud)