Intereting Posts

Как получить интерактивное уведомление с Urban Airship в Android?

Я интегрировал SDK Urban Airship в свое приложение на устройстве с Android 4.2 (Jelly Bean) . Я получил общие push-уведомления. Все нормально. Но я хочу получить интерактивное push-уведомление с кнопкой с меткой «Сохранить».

Мои зависимости от build.gradle :

 dependencies { compile 'com.google.code.gson:gson:2.2.4' compile 'com.google.android.gms:play-services:+' compile project (':urbanairship-lib-6.1.1') compile 'com.android.support:support-v4:22.2.0' // Recommended for in-app messaging compile 'com.android.support:cardview-v7:22.2.0' // Recommended for location services compile 'com.google.android.gms:play-services-location:7.5.0' // Required for Android (GCM) push notifications compile 'com.google.android.gms:play-services-gcm:7.5.0' compile files('libs/commons-io-2.4.jar') compile files('libs/FlurryAnalytics-4.1.0.jar') compile files('libs/nineoldandroids-2.4.0.jar') } 

Согласно официальной документации , я добавил следующий код в метод onCreate() в классе MyApplication :

 @Override public void onCreate() { AirshipConfigOptions options = new AirshipConfigOptions(); options.developmentAppKey = "sdgsdgsdhsdh"; options.developmentAppSecret = "sdhsdhsdhsdhsh"; options.productionAppKey = "Your Production App Key"; options.productionAppSecret = "Your Production App Secret"; options.inProduction = false; options.gcmSender = "11111111"; UAirship.takeOff(this, options); NotificationActionButton hiButtonAction = new NotificationActionButton.Builder("btnSave") .setLabel(R.string.save) .setPerformsInForeground(true) .build(); // Define the group NotificationActionButtonGroup buttonGroup = new NotificationActionButtonGroup.Builder() .addNotificationActionButton(hiButtonAction) .build(); // Add the custom group UAirship.shared().getPushManager().addNotificationActionButtonGroup("save", buttonGroup); UAirship.shared().getPushManager().setUserNotificationsEnabled(true); UAirship.shared().getPushManager().setPushEnabled(true); } 

После этого я попробовал пробный толчок со своего аккаунта Urban Airship:

РЕДАКТИРОВАТЬ:

Я использовал API-интерфейс Urban Airship v3. Согласно официальной документации, я отправил push с json:

 { "audience": { "named_user": "2971" }, "device_types":["android"], "notification": { "android": { "alert": "Hello", "extra": { "EEID": "2971", "DATE": "20150601" }, "interactive": { "type": "save" } } } } 

Но я получил общее push-уведомление с текстом «Hello» и без кнопок.

В чем может быть проблема и как открыть какую-либо деятельность, нажав кнопку в уведомлении?

Заранее спасибо.

Solutions Collecting From Web of "Как получить интерактивное уведомление с Urban Airship в Android?"

Ключевая «категория» неверна на Android. Фактически он ищет «com.urbanairship.interactive_type». Однако вы должны либо напрямую использовать основной композитор, либо push-API.

 curl -v -X POST -u <APP_KEY>:<MASTER_SECRET> -H "Content-type: application/json" -H "Accept: application/vnd.urbanairship+json; version=3;" --data '{ "audience":"ALL", "device_types":["android"], "notification": { "android": { "alert": "Hello", "interactive": { "type": "save" } } } }' https://go.urbanairship.com/api/push/ 

Но с вашими учетными данными приложений для <APP_KEY>:<MASTER_SECRET>

Подробнее см. http://docs.urbanairship.com/api/ua.html#interactive-api .