繁体   English   中英

我应该如何在sql数据库上存储iOS设备令牌?

[英]How should I store iOS Device Tokens on sql database?

我正在制作一个接收推送通知的iOS应用程序。 一切都设置正确,我已经做好了。 我测试它的方法是在发送通知的.php文件中手动输入我自己手机的设备令牌。 我知道我需要建立一个存储所有设备令牌的SQL数据库。 我也知道我必须在Xcode中的dedRegisterForRemoteNotificationWithDeviceToken中“调用”这个网站。 我知道如何做到这一切,但我不知道如何为数据库中的实际令牌创建字段,以及如何正确解析它。

如果我没记错的话,当我NSLog出我的设备令牌时,我会得到类似“<xxxx xxxx xxxx xxxx>”的内容。 我想我必须将其解析为“xxxxxxxxxxxxxxxx”。

我相信我会弄清楚这一点。我的主要问题是,令牌的列应该是什么类型? INT? VARCHAR? 我可以说它是某种类型的十六进制,但我不知道如何在数据库中进行此操作。

我正在考虑设置表(TokenID int AUTO_INCREMENT,Token(??)UNIQUE);

我不需要用户或任何东西..只是令牌(TokenID只是我的标准程序..)。 这是一种为某个字段指定的“新闻”通知。 任何人都知道我的令牌值应该是什么类型? 也许还有如何解析它从“<xxx>”到“xxx”

我在这里找到了一个例子: http//www.easyapns.com/mysql-tables

 `devicetoken` char(64) NOT NULL,

正确的方法是将值存储为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 ...

BINARY(32) NOT NULL UNIQUE怎么样?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM