搖一搖用戶信息反饋功能:用戶經過搖晃手機或者觸發按鈕,彈出反饋信息界面,填寫我的意見,上傳服務器的功能。java
###1. 蒲公英官網註冊應用,獲取AppId做爲惟一標識;android
###2. 下載sdk,獲取pgyer_sdk_2.7.4.jar包。 網址:https://www.pgyer.com/doc/view/sdk_downloadgit
###3. 配置project下的build.gradle文件github
allprojects { repositories { jcenter() maven { url "https://raw.githubusercontent.com/Pgyer/mvn_repo_pgyer/master" } } }
###4. 配置module下的build.gradle文件服務器
dependencies { compile 'com.pgyersdk:sdk:2.7.3' }
或者將獲取的pgyer_sdk_2.7.4.jar放到libs目錄,右鍵添加到項目。網絡
###5. 配置 AndroidManifestapp
<!-- 必選--> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- 獲取網絡狀態 --> <uses-permission android:name="android.permission.INTERNET" /> <!-- 網絡通訊--> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <!-- 獲取設備信息 --> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <!-- 獲取MAC地址--> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 讀寫sdcard,storage等等 --> <uses-permission android:name="android.permission.RECORD_AUDIO" /> <!-- 容許程序錄制音頻 --> <uses-permission android:name="android.permission.GET_TASKS"/> <!-- 可選--> <uses-permission android:name="android.permission.READ_LOGS" /> <!-- 獲取logcat日誌 --> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <!-- 可選--> <activity android:name="com.pgyersdk.activity.FeedbackActivity"/> <!-- 必選--> <meta-data android:name="PGYER_APPID" android:value="4b6e8877dfcc2462bedb37dcf66b6d87" > </meta-data> </application>
###6. Android 7.0還應該配置 AndroidManifest:maven
在application節點下添加:ide
<provider android:name="android.support.v4.content.FileProvider" android:authorities="您自定義provider file值" android:exported="false" android:grantUriPermissions="true"> <meta-data android:name="android.support.FILE_PROVIDER_PATHS" android:resource="@xml/provider_paths"/> </provider>
在res目錄下新建文件夾xml,新建文件:provider_paths.xml,文件內添加:gradle
<?xml version="1.0" encoding="utf-8"?> <paths xmlns:android="http://schemas.android.com/apk/res/android"> <external-path path="Android/data/com/pgyersdk" name="files_root" /> <external-path path="." name="external_storage_root" /></paths>
###7, 在MainActivity中添加java代碼。
#####7-1 . onCreate方法:
//動態請求權限 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { if (checkSelfPermission(Manifest.permission.READ_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) { requestPermissions( new String[] { Manifest.permission.READ_EXTERNAL_STORAGE }, REQUEST_CODE_READ_EXTERNAL_STORAGE_PERMISSIONS); requestPermissions( new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE }, REQUEST_CODE_WRITE_EXTERNAL_STORAGE); } }
#####7-2. 添加權限請求監聽
@SuppressLint("NewApi") @Override public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) { switch (requestCode) { case REQUEST_CODE_WRITE_EXTERNAL_STORAGE: { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { } else { } } } case REQUEST_CODE_READ_EXTERNAL_STORAGE_PERMISSIONS: { for (int i = 0; i < permissions.length; i++) { if (grantResults[i] == PackageManager.PERMISSION_GRANTED) { Toast.makeText(this, "容許讀寫存儲!", Toast.LENGTH_SHORT).show(); } else { Toast.makeText(this, "未容許讀寫存儲!", Toast.LENGTH_SHORT).show(); } } } break; default: { super.onRequestPermissionsResult(requestCode, permissions, grantResults); } } }
#####7-3. onResume方法,初始化Activity類型的UI:
PgyFeedbackShakeManager.setShakingThreshold(1000); FeedbackActivity.setBarImmersive(false); // 設置頂部導航欄和底部bar的顏色 FeedbackActivity.setBarBackgroundColor("#ff0000"); // 設置頂部按鈕和底部按鈕按下時的反饋色 FeedbackActivity.setBarButtonPressedColor("#ff0000"); // 設置顏色選擇器的背景色 FeedbackActivity.setColorPickerBackgroundColor("#ff0000"); PgyFeedbackShakeManager.register(MainActivity.this, false);
也能夠是dialog類型的UI,那樣就不用配置FeedbackActivity。
#####7-4. onPause方法
PgyFeedbackShakeManager.unregister();
以上的配置,是配置好了之後,搖一搖手機就會顯示UI界面。 若是是想經過點擊按鈕觸發顯示反饋界面,則能夠添加以下代碼:
FeedbackActivity.setBarImmersive(false); PgyFeedback.getInstance().showActivity(mContext);