2

こんにちは、ACS を使用してアプリにプッシュ通知を実装しています。次のように、tiapp.xml に Ti.cloud プッシュを追加しました。

   <module platform="android">ti.cloudpush</module>

このコードを使用して実装していますが、Ti.cloudpush モジュールが見つからないというエラーが発生しています。

var HomeWin = Titanium.UI.createWindow({
    backgroundColor : '#f00'
});
var CloudPush = require('ti.cloudpush');
CloudPush.debug = true;
CloudPush.enabled = true;
CloudPush.showTrayNotificationsWhenFocused = true;
CloudPush.focusAppOnPush = false;

var deviceToken;

var Cloud = require('ti.cloud');
Cloud.debug = true;


var submit = Ti.UI.createButton({
    title : 'Register For Push Notification',
    color:'#000',
    height : 53,
    width : 200,
    top : 100,
});

HomeWin.add(submit);

submit.addEventListener('click', function(e) {
    CloudPush.retrieveDeviceToken({
       success: function deviceTokenSuccess(e) {
                    alert('Device Token: ' + e.deviceToken);
                    deviceToken = e.deviceToken
                    loginDefault();
                },
       error  : function deviceTokenError(e) {
                    alert('Failed to register for push! ' + e.error);
           }
    });
});


function loginDefault(e){
    //Create a Default User in Cloud Console, and login
    Cloud.Users.login({
        login: 'push123',
        password: 'push123'
    }, function (e) {
        if (e.success) {
            alert("login success");
            defaultSubscribe();
        } else {
              alert('Error: ' +((e.error && e.message) || JSON.stringify(e)));
        }
    });
}

function defaultSubscribe(){
    Cloud.PushNotifications.subscribe({
            channel: 'alert',
            device_token: deviceToken,
            type: 'android'
    }, function (e){
            if (e.success) {
               alert('Subscribed for Push Notification!');
            } else{
                alert('Error:' +((e.error && e.message) || JSON.stringify(e)));
            }
    });
}

CloudPush.addEventListener('callback', function (evt) {
    alert(evt);
    alert(evt.payload);
});

CloudPush.addEventListener('trayClickLaunchedApp', function (evt) {
    Ti.API.info('Tray Click Launched App (app was not running)');
    //alert('Tray Click Launched App (app was not running');
});

CloudPush.addEventListener('trayClickFocusedApp', function (evt) {
    Ti.API.info('Tray Click Focused App (app was already running)');
    //alert('Tray Click Focused App (app was already running)');
});
4

2 に答える 2

1

追加しても同じ問題に遭遇します

<module platform="android">ti.cloudpush</module>

すべてのプロジェクトを削除し、遅延パッケージ名を使用してチタンで新しいプロジェクトを作成しましたが、現在は機能していますが、以前のコードが機能しない理由を見つけることができませんでした

于 2013-02-28T08:22:02.147 に答える
0

ワハブ、

次のように tiapp.xml を変更し、コードを実行します。私はあなたのコードをコピーしましたが、うまくいきました。

<modules>
        <module platform="commonjs" version="2.3.0">ti.cloud</module>
        <module platform="android" version="2.0.7">ti.cloudpush</module>
</modules>
于 2012-11-14T04:12:20.060 に答える