تكوين Oracle Mobile Hub SDK باستخدام تطبيق الأجهزة المتنقلة
يجب تكوين Oracle Mobile Hub SDK مع تطبيق الأجهزة المتنقلة قبل كتابة أي رمز.
إضافة SDK
في إعداد تطبيق أساسي ، دون تداخل frameworks ، ستقوم بإضافة Android client SDK إلى تطبيق.
-
فك ضغط ملف SDK المضغوط لعميل Android.
-
انسخ ملفات SDK jar إلى مجلد
libs
في مشروع التطبيق. إذا لم يكن هذا المجلد موجودًا ، فقم بتكوينه في نفس المستوى في تدرج المجلداتsrc
وbuild
. -
في Android Studio ، حدد ملف ثم جديد ثم وحدة نمطية جديدة لبدء المعالج في استيراد
IDMMobileSDK.jar
في المشروع. - انقر على استيراد .JAR /.AAR الحزمة واتبع المعالج لاستيراد
IDMMobileSDK.jar
إلى المشروع. -
في الشبكة المصدر للتطبيق ، قم بتكوين مجلد باسم
assets
(على نفس مستوى المجلداتjava
وres
). -
في حزمة SDK ، حدد موقع ملف
oracle_mobile_cloud_config.xml
وانسخه إلى المجلدassets
. -
في ملف
build.gradle
الخاص بالتطبيق ، تأكد أن ما يلي ينتمي إلى التبعيات المسجلة حتى تكون مكتبات SDK متاحة للتطبيق.dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.squareup.okhttp3:okhttp:3.9.0' compile 'org.slf4j:slf4j-jdk14:1.7.13' //to enable the app to receive notifications, include the following: compile 'com.google.firebase:firebase-messaging:11.0.2' compile 'com.facebook.android:facebook-android-sdk:4.25.+' }
-
إذا تم تصميم التطبيق لتلقي إشعارات كجزء من حملات التحليلات ، فأضف السطر التالي في الجزء السفلي من
build.gradle
.apply plugin: 'com.google.gms.google-services'
-
افتح
assets/oracle_mobile_cloud_config.xml
وقم بتعبئة بيانات البيئة في الخلفية المتحركة التي سيستخدمها التطبيق.
تكوين خصائص SDK
لاستخدام SDK للعميل في تطبيق Android، تلزم إضافة ملف تكوين oracle_mobile_cloud_config.xml
إلى التطبيق وملئه ببيانات البيئة للتمكن من استخدام الخلفية في Oracle Mobile Hub. بدورها، تستخدم كلاسات SDK هذه المعلومات لإنشاء رؤوس HTTP لاستدعاءات REST التي تم إجراؤها على Oracle Mobile Hub.
يمكنك وضع ملف التكوين في الحزمة الرئيسية للتطبيق في مجلد assets
على نفس مستوى مجلدات java
و res
. على سبيل المثال ، في نموذج تطبيق GettingStarted
، يكون في /GettingStarted/src/main/assets
.
يتم تقسيم الملف بشكل أساسي إلى الأجزاء التالية:
-
العنصر
mobileBackend
ومحتوياته.ويمكنك تضمين هذا الجزء إذا كنت تستخدم أسلاف مع التطبيق. تستخدم كلاسات SDK بيانات البيئة والمصادقة التي تحددها الوصول إلى الخلفية وإنشاء رؤوس HTTP لعمليات استدعاء REST التي تم إجراؤها على واجهات api.
-
العناصر التي تنطبق على التكوين ككل ، مثل
logLevel
وoAuthTokenEndpoint
. وعادة ما لا يتعين على هذه العناصر أن تظهر في أعلى الملف.
توضح عينة التعليمات البرمجية التالية هيكل ملف oracle_mobile_cloud_config.xml
.
<config>
<!--This value is required if you are using OAuth to authenticate against the mobile backend-->
<oAuthTokenEndPoint>YOUR_OAUTH_TOKEN_END_POINT<oAuthTokenEndPoint>
<!--Set to true if you want to get logging information-->
<enableLogger>true</enableLogger>
<logLevel>DEBUG</logLevel>
<!--Whether to log HTTP call request and response bodies and headers-->
<logHTTP>true</logHTTP>
<!-- Include the mobileBackend element and its sub-elements if you are going
to be using a backend to access custom and platform APIs.-->
<mobileBackend>
<name>MBE_NAME</name>
<baseUrl>BASE_URL</baseUrl>
<enableAnalytics>true</enableAnalytics>
<authentication>
<!--possible values for type are [oauth, basic, facebook, tokenExchange ]-->
<type>AUTH_TYPE</type>
<oauth>
<clientId>CLIENT_ID</clientId>
<clientSecret>CLIENT_SECRET</clientSecret>
<enableOffline>true</enableOffline>
</oauth>
<basic>
<mobileBackendId>MOBILE_BACKEND_ID</mobileBackendID>
<anonymousKey>ANONYMOUS_KEY</anonymousKey>
<enableOffline></enableOffline>
</basic>
<facebook>
<appId>FACEBOOK_APP_ID</appId>
<scopes>public_profile,user_friends,email,user_location,user_birthday</scopes>
<basic>
<mobileBackendId>MOBILE_BACKEND_ID</mobileBackendID>
<anonymousKey>ANONYMOUS_KEY</anonymousKey>
</basic>
</facebook>
<tokenExchange>
<! tokenExchange can contain an 'oauth' sub-element or a 'basic' sub-element.
<oauth>
<clientId>CLIENT_ID</clientId>
<clientSecret>CLIENT_SECRET</clientSecret>
</oauth>
<basic>
<mobileBackendId>MOBILE_BACKEND_ID</mobileBackendID>
<anonymousKey>ANONYMOUS_KEY</anonymousKey>
</basic>
<tokenExchange>
</authentication>
<!-- additional properties go here -->
</mobileBackend>
</config>
يمكن العثور على القيم التي تحتاجها لتعبئة النهاية الخلفية المحددة في صفحتي "إعدادات " و "ملف تعريف التطبيق " في نهاية الهاتف النقال هذه.
فيما يلي بعض الملاحظات حول عناصر الملف.
-
oAuthTokenEndPoint
— عنوان URL لخادم OAuth حيث يحصل التطبيق على مقطع التصديق الخاص به. يجب إدخال هذا المفتاح لكل التطبيقات التي تعتمد على OAuth للتصديق عليها. يمكنك الوصول إلى ذلك من صفحة "إعدادات" في الخلفية. -
logLevel
— تحديد عدد مرات عرض تسجيل SDK في وحدة التحكم الطرفية للتطبيق. القيمة الافتراضية هيERROR
. القيم الأخرى الممكنة (على مستوى الزيادة من البيانات) هيWARNING
وINFO
وDEBUG
. كما يمكن تحديدNONE
. -
enableLogger
— عند التعيين إلىtrue
، يتم تضمين التسجيل في التطبيق. -
logHTTP
— عند التعيين إلىtrue
، يقوم SDK بتسجيل رؤوس HTTP وHTTPS في الطلبات والاستجابات. -
mobileBackend
— عنصر يشتمل على بيانات التصديق للنهاية الخلفية وغيرها من البيانات الاختيارية ، مثل خصائص المزامنة.يمكنك الحصول على بيانات التصديق ، مثل بيانات صلاحية OAuth وHTTP ، من صفحة الإعدادات في الخلفية.
-
mobileBackend/baseUrl
— عنوان URL الأساسي لجميع واجهات api التي تقوم باستدعائها خلال الخلفية. يمكنك الوصول إلى ذلك من صفحة "إعدادات" في الخلفية. -
mobileBackend/authentication
— يحتوي على العناصر الفرعية التالية:-
العنصر الفرعي
type
المشتمل على القيم الممكنةoauth
وbasic
وfacebook
وtokenExchange
. -
عنصر فرعي أو أكثر لأنواع التصديق ، يحتوي كل عنصر على صلاحيات التصديق.
يمكنك أيضًا إضافة المفتاح
offlineEnabled
وتعيين قيمته إلىtrue
.
-
-
enableOffline
— في حالة التعيين إلىtrue
، يُسمح بالدخول في حالة عدم الاتصال. وينطبق ذلك فقط على نوعي الدخول Basic و OAuth. لكي يعمل ، يجب أيضًا إضافة ما يلي إلى ملفAndroidManifest.xml
الخاص بالتطبيق:<receiver android:name="oracle.cloud.mobile.network.NetworkHelper" <intent-filter> <action android:name="android.net.conn.CONNECTIVITY_CHANGE" /> </intent-filter> </receiver>
تكوين ملف بيان Android
يتم التحكم في الأذون اللازمة للعمليات مثل الوصول إلى الشبكة والبحث عن حالة الشبكة من خلال إعدادات الأذون الموجودة في ملف بيان التطبيق ، AndroidManifest.xml
. هذه الأذون مطلوبة:
-
permission.INTERNET
— السماح للتطبيق الخاص بك بالوصول إلى مقابس الشبكة المفتوحة. -
permission.ACCESS_NETWORK_STATE
— السماح للتطبيق بالوصول إلى معلومات حول الشبكات.
الأذون الأخرى اختيارية. على سبيل المثال ، هناك عدد من الأذون اللازمة لكي يتمكن التطبيق من تلقي الإشعارات. للاطلاع على التشغيل على الأذون المتاحة ، راجع أذون بيان Android في وثائق Google.
أضف الأذون أعلى ملف AndroidManifest.xml
، كما هو موضح في المثال التالي:
<?xml version="1.0" encoding="UTF-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="oracle.cloud.mobile.sample" >
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_INTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<application>
<provider
android:name="com.facebook.FacebookContentProvider"
android:authorities="com.facebook.app.FacebookContentProvider430660953811847"
android:exported="true" />
<receiver
android:name="oracle.cloud.mobile.network.NetworkHelper"
<intent-filter>
<action android:name="android.net.conn.CONNECTIVITY_CHANGE" />
</intent-filter>
</receiver>
(.....)
</application>
</manifest>
قد تتطلب إضافة SDK للعميل إلى التطبيق تكوين ملف AndroidManifest.xml
الخاص بك لإضافة أذون أو أنشطة جديدة. على سبيل المثال ، في حالة إضافة مكتبة SDK الفردية للتبليغات ، قد تحتاج أيضًا إلى إضافة مستلم بث جديد.