1. 程式人生 > >Android極光推送區分測試正式環境詳解

Android極光推送區分測試正式環境詳解

前沿:

極光推送是我們在實際生活中使用比較多的一種推送方式,成本低廉,不少公司都是使用的他,換工作之後,當前公司還是使用的極光推送。

問題/需求想要效果:

當前的公司需要測試環境的只能夠推送測試,正式環境的只能夠推送正式,應為IOS方存在可以直接通過配置至之後實現當前需求想要的要求,但是android卻沒有,官方提供的是通過建立兩個app來實現測試對測試,正式對正式

官方提供的解決方式:

這裡寫圖片描述

下面是具體的實現:

開發環境:AS 2.1.1.應為當前專案中也包含微信分享和高德地圖相關的問題,顧本人也提供瞭如何實現包名修改後,其他的如何實現的分享和地圖檢視相關:

1.給專案匯入相關支援的包

1)極光

   //極光推送
    compile 'cn.jiguang.sdk:jpush:3.0.5'
    // 此處以JPush 3.0.5 版本為例。
    compile 'cn.jiguang.sdk:jcore:1.1.2'
    // 此處以JCore 1.1.2 版本為例。

這裡寫圖片描述

2)其他依賴包,可以更具自己的實際使用來匯入相關包

這裡寫圖片描述

2.自己通過程式碼實現相關的功能實現

此處省略1萬字,具體實現請根據實際需求實現

3.通過配置話實現需求想要效果

  buildTypes {
        release {
            minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' manifestPlaceholders = [ JPUSH_PKGNAME: "包名", JPUSH_APPKEY : "release環境下的key", GAODE_APPKEY:"release環境下高德key", WEATCH_APPID:"relase環境下微信key"
, JPUSH_CHANNEL: "developer-default", ] } debug { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' manifestPlaceholders = [ JPUSH_PKGNAME: "報名.debug", JPUSH_APPKEY : "測試環境下對應的推送key", GAODE_APPKEY:"測試環境下對應的高德地圖key", WEATCH_APPID:"測試環境下微信對應的appid", JPUSH_CHANNEL: "developer-default", ] }

只要做了上面的操作就可以了,我們編譯之後就可以看到,我們執行平時走的debug環境,打relase的包都是relase環境。就能夠區分開。

缺點:

這樣做的缺點也很明顯,android很多平臺申請都是通過packageName+keystore作為唯一標識,如上的操作,就相當於我們又兩個app,顧很多情況下都需要申請兩套,尤其是在專案還有支付類的時候,就會特別覺得,申請成本比較大。

優勢:

能夠很好的測試對應debug模式,正式對應relase模式,不會正式推送到測試來,測試的也不會推送到正式來,很好的做到了完全區分開。

推薦使用:

這種方法也是極光官方推廣的比較權威的大家認可的方法,也算是比較perfect的方法 。

方法二:通過標籤和別名進行區分[不推薦]

在很多情況下,不少的需求會覺得這樣做成本比較高,他們希望能夠只申請一個應用就完成測試和正式區分開,哪怕產生一些比較明顯的bug,如果你完全不care 系統推送是否推送到時正式還是測試可以通過現在我們要說的方法。這也是極光官方以及本人並不推薦的方法,程式設計師只是需求的實現方,這樣會很明顯的造成測試不便,也沒有比較好的完成需求的要求效果。

一.App端已進入就區分環境並進行設定標籤或者別名,開始分組

  if(Contens.URL.equal(“正式環境”)){
    //註冊別名/標籤
    .....//此處省略一萬字
  }else if(Contens.URL.equal("測試環境")){
    //註冊別名/標籤
    .....//此處省略一萬字
  }

二.這步也需要後端介面人員進行介面支援,需要通過別名或者標籤進行環境判斷

後端實現標籤/別名區分環境進行程式碼寫入
此處省略一萬字

如上這種也是可以實現測試環境和正式環境的區分,但因確定/不足明顯,顧並不推薦使用,在前期公司的專案中,有使用這種方法[方法二],而最後導致正式測試系統推送混亂,並且測試的時候也不是很方便,尤其是不敢進行通過平臺推送。

希望本篇文章對你有用

相關推薦

Android極光區分測試正式環境

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

Android 關於極光測試正式的問題

極光推送並沒有提供區分測試和正式的欄位,如果想區分測試和正式的環境,可以重新註冊一個,在重新註冊時,會讓你重新填寫包名, release: com.jpush.test debug: com.jpush.test.debug 然後我們配置gradle,

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

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

android 極光 自定義聲音

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

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

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

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

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

Android 極光整合與使用

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

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

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

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. 根目錄的主

極光demo測試流程,測試過程中可能遇到的問題和解決方法

建立開發證書,建立描述檔案,極光推送頁面設定,Xcode工程設定,真機測試 步驟1:建立開發證書 <1>.登陸 https://developer.apple.com進入開發者中心 <2>進入建立和描述檔案頁面 <3>.

網易雲信即時通訊保障及網路優化(三):如何在弱網環境下優化大資料傳輸

對於移動 APP 來說,IM 功能正變得越來越重要,它能夠建立起人與人之間的連線。社交類產品中,使用者與使用者之間的溝通可以產生出更好的使用者粘性。在複雜的 Android 生態環境下,多種因素都會造成訊息推送不能及時達到客戶端。另外,不穩定的行動網路也給資料傳輸的速率和可靠

iOS13 即將到來,iOS DeviceToken 適配方案

關於提前適配iOS13 蘋果推送DeviceToken的通知 隨著蘋果iOS13系統即將釋出,個推提前推出DeviceToken適

極光傻瓜版配置(Android Studio)

Step1 :      build.gradle(Project : 專案名)中加入以下紅色部分配置(新 Android Studio 中預設就有) buildscript { repositories { jcenter()

android點選極光的通知跳轉到webview頁面顯示網頁,webview返回錯誤程式碼-6,無法連線伺服器

這個bug比較坑,在webview中無法開啟,將地址複製到電腦瀏覽器中能正常開啟,網上搜索到的說無法連線伺服器是沒有加"http://",可我是加了的,我加了還是打不開。某法了,去看看IP地址,終於讓我找到問題了。 後臺伺服器我搭建的是本地的,請求地址也是後臺返回來的,結果

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

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

React Native 極光的實現,支援Android和iOS

在接到需求後對如何實現進行了預研,發現有極光官網維護的 jpush-react-native 和 React Native 中文網維護的 react-native-jpush 供我們使用,我選擇的是 jpush-react-native。 一,相關版本資訊 { "nam

android進階4step3:Android常用框架——極光的簡單使用

官方文件:https://www.jiguang.cn/push SDK下載:http://docs.jiguang.cn/jpush/resources/ 官方Github:https://github.com/jpush 這篇文章主要介紹是怎麼使用極光推送 其他文章

android 如何整合小米和極光

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