5

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

如果我没记错的话,当我 NSLog 注销我的设备令牌时,我会得到类似“< xxxx xxxx xxxx xxxx >”的信息。我想我必须将其解析为“xxxxxxxxxxxxxxxxxx”。

我确定我会解决这个问题的。我的主要问题是,token 的列应该是什么类型?INT?VARCHAR?我可以说它是某种十六进制,但我不知道如何在数据库中处理它..

我正在考虑使用 (TokenID int AUTO_INCREMENT, Token (??) UNIQUE);

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

4

3 回答 3

4

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

 `devicetoken` char(64) NOT NULL,
于 2012-07-18T16:26:09.120 回答
4

正确的方法是将值存储为 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 ...
于 2015-05-16T20:21:21.560 回答
1

怎么样BINARY(32) NOT NULL UNIQUE

于 2013-05-23T10:05:15.853 回答