1. 程式人生 > >Android 極光推送整合與使用詳解

Android 極光推送整合與使用詳解

極光新建應用

首先需要有極光賬號,在後臺新建應用
極光後臺介面
新建時會要求上傳app圖示和填寫app名字,然後需要完成推送設定
新建應用後
點選推送設定後出現android 與iOS的按鈕,點選android後填寫包名就好,
填寫好包名後然後點選下載Demo來下載需要整合的控制元件,下載完成後,點選整合指南來進行參照整合過程
整合
我一般習慣手動整合,把下載的Demo解壓後大體是這個結構
Demo解壓後
首先複製檔案,把libs裡面的檔案都拷貝到專案app目錄下的libs包裡面,把res資料夾下的資源拷貝到自己的資原始檔夾下(注意values裡面的strings與style,不要直接覆蓋,把內容複製到自己的檔案中去),然後開啟AndroidManifest檔案,把標註了Required的部分複製到自己的AndroidManifest中去,裡面包名與極光的appKey都是配置好的。
然後,最最重要的一點

有好多人都是執行的時候出現了極光獲取SDK版本失敗的log
Get sdk version fail![獲取sdk版本失敗!],我用我集成了十幾個app的經驗告訴你,有百分之八十的概率是因為沒有在app目錄裡的build.gradle中配置

 sourceSets.main {
        jniLibs.srcDirs = ['libs']
    }

這句程式碼,它是用來引入libs裡面的.so檔案的。
到這配置檔案就好了,接下來就需要整合推送程式碼了。
開啟Demo裡的src,把裡面有ExampleApplication拷貝到專案,並且在AndroidManifest中引入,如果專案已經有了Application,那就把

JPushInterface.setDebugMode(true);  // 設定開啟日誌,釋出時請關閉日誌
JPushInterface.init(this);          // 初始化 JPush

這兩句程式碼拷貝到自己的Application的onCreate方法上。
到此最基本的整合就完成了,專案跑一遍後log日誌會出現Login succeed的提示,然後就可以在後臺測試一下推送通知了,
推送通知介面
注意,在極光推送的整合指南中,到此也就結束了,但真正在app使用中還是有些問題需要注意

以上的推送設定只會推送給所有使用者
如果需要全部推送,不用看。
實際上大多app是需要登入的,推送在更多時候是需要分類推送,或者針對一個使用者推送。
我來舉個栗子,你的app是一個技術分享app。
使用者註冊後會選擇自己的職業或者感興趣的領域,如果他是android工程師,難道你要給他推送iOS的知識乾貨麼?,所以需要分類推送,這就需要極光裡的標籤。
而你在app裡面寫了一篇很讚的文章,你有人給你點贊或者評論,你接收到推送的通知,xxx點讚了你的文章,xxx評論了你的文章,這就是針對一個使用者推送,這就需要極光裡的別名
暫且不說後臺需要怎麼做,我只說app 端,使用者需要在登入後通過方法

JPushInterface.setAliasAndTags();

給自己打一個別名和標籤,讓後臺知道你是哪一類,然後針對性推送

登入與登出
如果需要全部推送,不用看。
使用者登入後能夠接收到通知,但是登出後呢?如果僅僅使用了上面的過程,我可以很負責任的告訴你,你退出登入後仍然能接收到通知,因為你開啟了推送,並沒有在登出時停止推送。
登出後

 JPushInterface.stopPush(getApplicationContext());

登入設定setAliasAndTags後判斷如果推送停止的話恢復推送

  if (JPushInterface.isPushStopped(mContext)) {
                        JPushInterface.resumePush(getApplicationContext());
                    }

點選通知欄上的通知後通知會消失
真正在app上會有要求,比如說你需要做成點選後跳轉到某一個頁面,開啟Demo裡的src中的MyReceiver檔案,它就是來監聽通知的,可以把它拷貝到專案,注意不要忘了在AndroidManifest中宣告哦,

 <receiver
            android:name="包名.MyReceiver"
            android:exported="false"
            android:enabled="true">
            <intent-filter>
                <action android:name="cn.jpush.android.intent.REGISTRATION" /> <!--Required  使用者註冊SDK的intent-->
                <action android:name="cn.jpush.android.intent.MESSAGE_RECEIVED" /> <!--Required  使用者接收SDK訊息的intent-->
                <action android:name="cn.jpush.android.intent.NOTIFICATION_RECEIVED" /> <!--Required  使用者接收SDK通知欄資訊的intent-->
                <action android:name="cn.jpush.android.intent.NOTIFICATION_OPENED" /> <!--Required  使用者開啟自定義通知欄的intent-->
                <action android:name="cn.jpush.android.intent.CONNECTION" /><!-- 接收網路變化 連線/斷開 since 1.6.3 -->
                <category android:name="包名" />
            </intent-filter>
        </receiver>

然後再來修改一下MyReceiver,裡面就有點選通知後的操作,修改裡面的intent和傳值

相關推薦

Android 極光整合使用

極光新建應用 首先需要有極光賬號,在後臺新建應用 新建時會要求上傳app圖示和填寫app名字,然後需要完成推送設定 點選推送設定後出現android 與iOS的按鈕,點選android後填寫包名就好, 然後點選下載Demo來下載需要整合的控制元件

android 極光 聲音振動 的關閉和開啟

fff getc 用法 koa pub tar brush asi drawable   前言:最近剛好在寫一些推送方面的東西,又是新手,不斷在網上找資料,很少,不過還是找到了一些,反正百度我是再也不想百度了,谷歌一下子就能找到想要的。   廢話不多說。  

ionic平臺下的Android極光整合文件

雖然當前提供推送服務的第三方有很多,例如jpush,友盟,個推,騰訊信鴿等。但是由於大部分第三方只支援原生環境,再加上考慮到ionic平臺下網上已經提供了一套jpush的整合方案,所以我只是針對在jpush下ionic app推送做一些簡要的整理。 廢話不多說,直入主題。

Android極光區分測試正式環境

前沿: 極光推送是我們在實際生活中使用比較多的一種推送方式,成本低廉,不少公司都是使用的他,換工作之後,當前公司還是使用的極光推送。 問題/需求想要效果: 當前的公司需要測試環境的只能夠推送測試,正式環境的只能夠推送正式,應為IOS方存在可以直接通過配

Android 使用極光整合、出現問題和後臺保活

今天接入極光推送學習一下,就發現的問題一起探討 主要包含了註冊、接入、sdk版本獲取失敗、後臺保活介紹 接入的時候還是按照官方接入流程,主要就是一下三步 註冊 註冊極光推送賬號 建立應用(記錄自己的appkey) 根據平臺設定推送設定,主要是設定一個包名(這個包名一定要和自

android 極光快速自動整合及,自定義通知樣式及雙指下拉通知欄顯示全部內容

一,整合步驟: 1.極光推送官網,註冊,登入,建立應用,用專案包名獲取AppKey: 注:包名必須與專案的包名一致 2.在 module 的 gradle 中新增依賴和支援: android { ...... defaultConfig {

iOS極光整合注意事項

一、別名推送 //設定別名的主要程式碼 [JPUSHService setAlias:string callbackSelector:@selector(tagsAliasCallback:tags:alias:) object:self]; - (void)tagsAliasCa

極光整合總結——(筆記)

1.從極光官網建立自己的專案(app) 2.然後就是建立成功--------------------------- 3.向下滑找到推送設定 接下來就是完善推送設定 4.以Android的推送為例: 5.接下來建立自己的module 然後開啟build.gradle 6.拿到你的applica

Android 信鴿整合

本文是基於3.+的版本,在整合4.+的版本中,整合mid包時遇到一個問題 Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be s

Swift-極光整合指南 (本人親測)

專案用到了極光推送 官方文件沒有 自己百度了 測試OK 就整合進來了 1 匯入SDK 2 橋檔案匯入 // 引入JPush功能所需標頭檔案 #import "JPUSHService.h" /

android 極光 自定義聲音

可以定義樣式,那麼可以禁用極光的聲音,收到通知就播放一個聲音就好:禁用: // 極光 JPushInterface.setDebugMode(IS_DEBUG); JPushInterface.init(this); BasicPushNotificationB

Android極光通過不同的通知內容跳入不同的頁面

1、在註冊清單中加入 <receiver android:name="your receiver全路徑" android:enabled="true"> <intent-filter> <!-- 以下是要

Android極光自定義通知問題

private void showInspectorRecordNotification() { RemoteViews customView = new RemoteViews(context.getPackageName(), R.layout.

# Android 極光伺服器端和移動端

Android 極光推送伺服器端和移動端 這裡是Android 有關伺服器端進行推送和手機客戶端接收的一些簡單的例子 伺服器端採用的是MyEclipse2014,手機端是Android studio 2.0 下面是一個簡單的JSP頁面程式碼 <

Android極光(Android studio 3.0+)

使用步驟: Step 1.建立應用: 進入極光控制檯後,點選“建立應用”按鈕,進入建立應用的介面。 填上你的應用程式的名稱以及應用包名這二項就可以了, 最後點選最下方的 “建立我的應用”按鈕,建立應用完畢。 Step 2. 根目錄的主

極光整合Module中遇到的坑

序言:在上次做完極光推送的實驗說說極光推送那些事後,已然被推送的魅力所吸引,近期打算做一個仿朋友圈的功能,想要結合推送來完成點贊和評論的通知問題 上次做的實驗就一個主工程,這次我把極光推送單獨建了一個module,為了方便在以後的專案中能直接使用,而不是一遍一

Prometheus+Grafana+Alertmanager實現告警教程 ----- 圖文

## 前言 本文主要介紹的是Prometheus採集資料,通過Grafana加上PromQL語句實現資料視覺化以及通過Alertmanage實現告警推送功能。溫馨提示,本篇文章特長,2w多的文字加上幾十張圖片,建議收藏觀看。 ## Prometheus 介紹 > Prometheus 是一套開源的系統監

Android開發之第三方JPush極光知識點 學會整合第三方SDK

下面是一些知識點介紹,後期將會帶領大家進行程式碼實戰: 一、Android實現推送方式解決方案: 1、推送方式基礎知識:    在移動網際網路時代以前的手機,如果有事情發生需要通知使用者,則會有一個視窗彈出,將告訴使用者正在發生什麼事情。可能是未接電話

Android快速整合極光,內含自定義通知,通知物件到某一個人,或者某一群人

整合極光推送 使用jcenter 自動整合步驟 說明 : 使用 jcenter 自動整合,不需要在專案中新增 jar 和 so,jcenter 會自動完成依賴;在 AndroidManifest.xml 中不需要新增任何 JPush SDK 相關的配置,jcen

android 如何整合小米和極光

1.在小米和極光的官網平臺的建立應用,獲取到appkey。 極光建立後直接下載官方的Demo, 小米在官網上下載SDK:https://dev.mi.com/mipush/downpage/ 2.分別整合小米和極光的原始碼到專案中去: 極光:根據官方的Demo,在清單