終於
試出來了!
感謝 JustFly 的協助
---------------------------------------
詳細可以參考 這篇
靜下心花點時間按照此步驟一步一步的做
應該可以做到最後產生 .pem檔
此篇在後續titanium的部分
---------------------------------------
// this sets the background color of the master UIView (when there are no windows/tab groups on it)
Titanium.UI.setBackgroundColor('#000');
var win = Titanium.UI.createWindow({
title : 'Tab 1',
backgroundColor : '#fff'
});
Titanium.Network.unregisterForPushNotifications;
Ti.API.info("unregisterForPushNotifications");
Titanium.Network.registerForPushNotifications({
types:[
Ti.Network.NOTIFICATION_TYPE_ALERT,
Ti.Network.NOTIFICATION_TYPE_BADGE,
Ti.Network.NOTIFICATION_TYPE_SOUND
],
success: successCallback,
error: errorCallback,
callback: messageCallback
});
function successCallback(e) {
alert(e);
alert( e.deviceToken+'');
var deviceToken = e.deviceToken;
// var deviceToken=Ti.Network.remoteDeviceUUID;
// alert('deviceToken:' + Ti.Network.remoteDeviceUUID);
}
// error callBack
function errorCallback(e) {
alert(e);
alert('Push errorCallback' + e.error +'');
}
// message callBack
function messageCallback(e) {
alert(e);
alert('Push messageCallback');
}
win.open();
------------------------
記得 e.deviceToken+''要轉成字串才可以抓到deviceToken
抓到deviceToken之後
將deviceToken貼到網站裡的simplePush.php的範例
為了讓push notification能夠傳遞中文
所以要多加上轉換成UTF-8編碼
$message = '傳遞中文通知!';
$message = iconv('Big5','UTF-8',$message);
由於發佈發現一直無法出現傳遞成功的字樣
後來發現式pem路徑問題
我也是將pem放在同樣www的資料夾 (我使用appserv)但就抓不到
後來將程式改成
$apnsCert = dirname(__FILE__) . '/' . 'ck.pem';
$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', $apnsCert );
這樣就可一順利發佈push notification了
沒有留言:
張貼留言