0

Im пытается отправить уведомления в приложение Titanium от AeroGear. После получения маркера, как можно подписаться на канал?Titanium Push Notification AeroGear

Obteining маркер:

var CloudPush = require('ti.cloudpush'); 
var deviceToken = null; 


CloudPush.retrieveDeviceToken({ 
    success: deviceTokenSuccess, 
    error: deviceTokenError 
}); 
function deviceTokenSuccess(e) { 
    deviceToken = e.deviceToken; 
} 
function deviceTokenError(e) { 
    alert('Failed to register for push notifications! ' + e.error); 
} 

CloudPush.addEventListener('callback', function (evt) { 
    alert("Notification received: " + evt.payload); 
}); 

Это пример кода для родной Androiod:

package com.push.pushapplication; 

import java.net.URI; 
import java.net.URISyntaxException; 

import org.jboss.aerogear.android.unifiedpush.PushConfig; 
import org.jboss.aerogear.android.unifiedpush.PushRegistrar; 
import org.jboss.aerogear.android.unifiedpush.Registrations; 

import android.app.Application; 

public class PushApplication extends Application { 

    private final String VARIANT_ID  = "variant_id"; 
    private final String SECRET   = "secret"; 
    private final String GCM_SENDER_ID = "1"; 
    private final String UNIFIED_PUSH_URL = "URL"; 

    private PushRegistrar registration; 

    @Override 
    public void onCreate() { 
     super.onCreate(); 

     Registrations registrations = new Registrations(); 

     try { 
      PushConfig config = new PushConfig(new URI(UNIFIED_PUSH_URL), GCM_SENDER_ID); 
      config.setVariantID(VARIANT_ID); 
      config.setSecret(SECRET); 
      config.setAlias(MY_ALIAS); 

      registration = registrations.push("unifiedpush", config); 

      registration.register(getApplicationContext(), new Callback() { 
       private static final long serialVersionUID = 1L; 

       @Override 
       public void onSuccess(Void ignore) { 
        Toast.makeText(MainActivity.this, "Registration Succeeded!", 
          Toast.LENGTH_LONG).show(); 
       } 

       @Override 
       public void onFailure(Exception exception) { 
        Log.e("MainActivity", exception.getMessage(), exception); 
       } 
      }); 

     } catch (URISyntaxException e) { 
      throw new RuntimeException(e); 
     } 
    } 
} 

Действительно потерял здесь, любая помощь будет оценен по достоинству!

ответ

0

Вам необходимо сделать обертку вокруг родной библиотеки AeroGear как titanium module. Однако это может быть сложно, если вы этого не сделали раньше.