我正在制作一个接收推送通知的iOS应用。一切都设置正确,我已经做好了。我测试它的方法是在发送通知的.php文件中手动输入我自己手机的设备令牌。我知道我需要建立一个存储所有设备令牌的SQL数据库。我也知道我必须在Xcode中的dedRegisterForRemoteNotificationWithDeviceToken中“调用”这个网站。我知道如何做到这一切,但我不知道如何为数据库中的实际令牌创建字段,以及如何正确解析它。
如果我没记错的话,当我退出设备令牌时,我会得到类似“< xxxx xxxx xxxx xxxx>”的内容。我想我必须将其解析为“xxxxxxxxxxxxxxxx”。
我确定我会弄清楚这一点。我的主要问题是,令牌列应该是什么类型的? INT? VARCHAR?我可以说它是某种类型的十六进制,但我不知道如何在数据库中进行此操作..
我正在考虑使用(TokenID int AUTO_INCREMENT,Token(??)UNIQUE)设置表;
我不需要用户或任何东西..只是令牌(TokenID只是我的标准程序..)。这是一种为某个字段指定的“新闻”通知。任何人都知道我的令牌值应该是什么类型?也许还有如何从“< x-x-x>”解析它到“xxx”
答案 0 :(得分:5)
我在这里找到了一个例子:http://www.easyapns.com/mysql-tables
`devicetoken` char(64) NOT NULL,
答案 1 :(得分:3)
正确的方法是将值存储为BINARY(32)并使用MySQL函数UNHEX和HEX来存储和检索值。
INSERT INTO devices SET devicetoke=UNHEX('$token'), ...
UPDATE devices SET badgecount=badgecount+1 WHERE devicetoken=UNHEX('$token')
SELECT HEX(devicetoken) AS token FROM devices WHERE ...
答案 2 :(得分:0)
BINARY(32) NOT NULL UNIQUE
怎么样?