برامج مستقله

الإعلانات

برامج مستقله

يمكن أن يعمل التطبيق “برامج” المصمم لنظام تشغيل الساعه، بشكلٍ مستقل عن الهاتف. بحيث يمكن للمستخدمين إكمال المهام على الساعة من دون الوصول إلى هاتف الأندرويد أو iOS.

راجع المصادر التالية:

التحقق من نموذج التطبيق عن بعد

 

 

 

صمم تطبيقاتك


 

يمكنك إستخدام ميزة تعدد ملفات APK في قوقل بلاي، لنشر أكثر من ملف APK لنفس التطبيق.

يجب توزيع ملف APK لتطبيق الساعه بإستخدام هذه الميزة؛ لا تقم بتضمين ملف APK للساعه في ملف APK الخاص بالهاتف.

للحصول على معلومات حول إعداد تطبيقك للتوزيع من خلال متجر قوقل بلاي، أطلع على حزم وتوزيع تطبيقات “برامج” الساعه وكيفية عمل ملفات APK المتعددة.

ملاحظة: للتأهل للترويج في متجر قوقل بلاي على الساعه (أي في متجر بلاي الموجود على الساعة)، يجب أن يعمل تطبيقك بشكلٍ مستقل عن الهاتف.

ومطلوب كذلك دعم نظام iOS مثل اندرويد.

 

عموماً، يكون المستوى الأدنى والمستهدف لواجهة برمجة التطبيقات “البرامج” للتطبيق المستقل، ولنظام الساعة الإصدار 2.0..  هو المستوى 25.

يمكن أن يكون الحد الأدنى لمستوى SDK 23، فقط لو كنت تستخدم نفس ملف APK للإصدارين 1.0 و 2.0 لنظام الساعه..

(وبالتالي يكون ملف APK لإصدار الساعة 1.0 مضمناً).

ملاحظة: نظراً لمشكلة وقت الإستجابة التي تؤثر على توفر التطبيق على الساعات ذات الإصدار 1.x ، إذا كنت تنشئ ملف APK مستقل..

 يستخدم الإصدار 2.0، ولا زلت مستمراً في الإبقاء على ملف APK الذي يستخدم الإصدار 1.0 ، فقم بتنفيذ ما يلي:

– قم بتوفير إصدار مستقل من ملف APK لتطبيق الساعه.
– أستمر في تضمين إصدار ملف APK للساعه في ملف APK للهاتف.

 

 

تحذير: إذا نشرت تحديثاً لملف APK حالي ومنتج للهاتف، والذي قام بإزالة ملف APK المضمن الخاص بالساعه، فإن مستخدمي الملف المنتج..

الذين يقومون بتحديث ملف APK للهاتف، قبل تثبيتهم لملف APK المستقل للساعه، سيفقدون تطبيق الساعه الحالي وبياناته.

إذا نشرت تحديثاً لملف APK حالي ومنتج للهاتف، فأستمر في تضمين ملف APK الخاص بالساعة في ملف APK لهذا الهاتف.

أذونات وقت التشغيل مطلوبة للتطبيقات “برامج” المستقله.

للحصول على معلومات حول طلبات الشبكة والوصول إلى النطاق الترددي العالي للشبكة، راجع الوصول إلى الشبكة والمزامنة.

 

 

 

تحديد تطبيق كتطبيق مستقل

يجب أن يحتوي تطبيق الساعه على عنصر البيانات الوصفيه في ملف إيضاح الأندرويد، كتابع لعنصر التطبيق.

أسم عنصر البيانات الوصفية هو com.google.android.wearable.standalone ويجب أن تكون القيمة “صحيح” أو “خطأ”.

يشير العنصر إلى ما إذا كان تطبيق الساعة هو تطبيق مستقل أم لا، وبالتالي لا يتطلب تشغيل تطبيق أندرويد على الهاتف لكي يعمل.

إذا كان العنصر معين على “صحيح”، فيمكن جعل تطبيقك متاحاً في متجر بلي على الساعات المقترنة بالآيفون..

طالما أن ملفات APK النشطة في جميع القنوات (مثال، في القناة التجريبية) تم تعيين العنصر فيها على “صحيح”.

إذا لم تكن جميع ملفات APK (نسخ ألفا وبيتا و نسخة الإنتاج) التي يتم عرضها للمستخدمين حالياً لديها الإعداد المذكور أعلاه..

فلن يكون تطبيقك متاحاً عندما يبحث المستخدم في ساعة مقترنة بجهاز آيفون.

يمكن إعتبار تطبيق الساعة واحداً مما يلي:

  • مستقل تماماً عن تطبيق الهاتف.
  • شبه مستقل (تطبيق الهاتف غير مطلوب وسيقوم فقط بتوفير ميزات إختيارية).
  • معتمد على تطبيق الهاتف.

إذا كان تطبيق الساعة مستقل تماماً أو شبه مستقل، فسيعتبر في فئة التطبيقات المستقلة.

يجب أن تشير إلى هذا التصنيف في متجر قوقل بلي من خلال تعيين قيمة العنصر “بيانات وصفية” هذا إلى “صحيح”:

<application>
...
  <meta-data
    android:name="com.google.android.wearable.standalone"
    android:value="true" />
...
</application>

 

بما أنه يمكن تثبيت تطبيق مستقل (أي، تطبيق مستقل أو شبه مستقل) بواسطة مستخدم الآيفون..

أو مستخدم لهاتف أندرويد لا يحتوي على متجر بلي، فيجب أن يكون تطبيق الساعة قابلاً للإستخدام بدون تطبيق الهاتف.

إذا كان تطبيق الساعة يعتمد على تطبيق الهاتف، فعيّن قيمة عنصر البيانات الوصفية أعلاه إلى القيمة “خطأ”.

يشير تعيين العنصر إلى القيمة “خطأ” إلى أنه يجب تثبيت تطبيق الساعة فقط على ساعة مقترنة بهاتف يحتوي على متجر بلي.

 

ملاحظة: حتى إذا كانت القيمة “خطأ”، يمكن تثبيت تطبيق الساعة قبل تثبيت تطبيق الهاتف. لذلك، لو أكتشف أحد تطبيقات الساعة..

أن الهاتف المصاحب لا يحتوي على التطبيق الضروري، فيجب على تطبيق الساعة مطالبة المستخدم بتثبيت تطبيق الهاتف.

 

 

 

برامج مستقله

 

حدد تطبيق كتطبيق ساعه

يجب التأكد من تحديد الوسم “إستخدام الخاصيه” <uses-feature> في ملف إيضاح الأندرويد في تطبيقك.

يجب أن يشار إلى أنه تطبيق ساعه، مثال،

"android:name="android.hardware.type.watch كما يلي:

<manifest>
...
  <uses-feature android:name="android.hardware.type.watch" />
...
</manifest>

 

 

كود مشترك وتخزين البيانات


يمكن مشاركة الكود بين تطبيق الساعه وتطبيق الهاتف. الكود الخاص بشركة يمكن أن يكون نموذج منفصل، إختيارياً.

مثال، يمكن أن يكون الكود المشترك للشبكات في مكتبة مشتركة.

يمكنك إستخدام واجهات برمجة التطبيقات القياسية لمخزن الأندرويد لتخزين البيانات محلياً، كما تفعل على الهاتف.

مثال، يمكنك إستخدام واجهات برمجة التطبيقات للتفضيلات المشتركة أو إستخدام مكتبة Room persistence.

 

 

 

 

برامج مستقله

 

إكتشاف تطبيقك على جهاز آخر


يمكن لتطبيق الساعة، إكتشاف ما إذا كان التطبيق المناسب، متاحاً على الهاتف والعكس صحيح.

يمكن لتطبيق الهاتف أو تطبيق الساعة، إستخدام “عميل الإمكانية” CapabilityClient للإعلان عن تواجد التطبيق، على الجهاز المقترن.

يمكنك أن تفعل ذلك بشكلٍ ثابت وحيوي. عندما يكون التطبيق على نقطة إلتقاء، في شبكة الساعه، لدى المستخدم..

(مثال، يكون على، هاتف، ساعة مقترنة، أو على السحابه)، فإن CapabilityClient تمكّن تطبيق آخر، من إكتشاف ما إذا كان مثبتاً أم لا.

لمزيد من المعلومات، راجع الإعلان عن الإمكانات.

 

إذا لم يتمكن أحد تطبيقاتك من إكتشاف التطبيق الآخر، فيمكنك تمكين المستخدم من فتح قائمة متجر بلي على جهازه البعيد.

هذا هو الحل لتطبيقات الساعة التي تتطلب وجود تطبيق مرافق لها على الهاتف لتعمل بشكلٍ صحيح.

من المتطلبات الأساسية التحقق من وجود متجر بلي على الجهاز البعيد.

لاحظ أنه ليست جميع الهواتف تدعم متجر بلي (مثل الآيفون وغيره).

يصف هذا القسم أفضل الممارسات لهذه السيناريوهات:

– يحتاج تطبيق الساعة المستقل إلى تطبيق هاتفك
– يحتاج تطبيق هاتفك إلى تطبيق الساعة المستقل

 

يرجى مراجعة النموذج الذي يظهر هذه الوظيفة. لمزيد من المعلومات حول الفئات الموضحة أدناه، أنظر مرجع واجهة برمجة تطبيقات الساعه.

في هذا المرجع أيضاً، توجد معلومات حول فئة “نوع جهاز الهاتف” PhoneDeviceType، والتي تحتوي على دالة..

“جلب نوع جهاز الهاتف” ()getPhoneDeviceType التي تمكن تطبيق الساعه الخاص بك من التحقق مما إذا كان الهاتف المرافق هو جهاز أندرويد أو iOS.

 

 

 

حدد أسماء القدرات للكشف عن تطبيقاتك

بالنسبة إلى التطبيق المتوافق مع كل نوع من الأجهزة (ساعة أو هاتف)، حدد سلسلة فريدة لأسم القدرة في ملف res/values/wear.xml.

مثال، في نموذج هاتفك، قد يحتوي ملف wear.xml على ما يلي:

<resources>
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_phone_app</item>
    </string-array>
</resources>

 

 

في نموذج ساعتك، سيحتوي ملف wear.xml على قيمة مختلفة لأسم القدرة، مثل ما يلي:

<resources>
    <string-array name="android_wear_capabilities">
        <item>verify_remote_example_wear_app</item>
    </string-array>
</resources>

 

 

لمزيد من المعلومات، راجع الإعلان عن القدرات.

 

 

 

برامج مستقله

 

اكتشاف التطبيق وفتح عنوان URL من الساعة

يمكن لتطبيق الساعة أن يكتشف ما إذا كان الهاتف المرافق للمستخدم يحتوي على تطبيقك الهاتفي:

1- إستخدم CapabilityClient للتحقق مما إذا كان تطبيقك الهاتفي مثبتاً على الهاتف المقترن. لمزيد من المعلومات، راجع النموذج.

2- إذا لم يكن تطبيقك الهاتفي مثبتاً على الهاتف، فإستخدم دالة ()PhoneDeviceType.getPhoneDeviceType للتحقق من نوع الهاتف.

 

3- إذا تم إرجاع PhoneDeviceType.DEVICE_TYPE_ANDROID ، فإن الهاتف هو هاتف يعمل بنظام الأندرويد.

قم بإستدعاء ()RemoteIntent.startRemoteActivity على الساعه لفتح متجر التطبيقات على الهاتف.

إستخدم معرّف الموارد الموحد للسوق لتطبيقك الهاتفي (والذي قد يكون مختلفاً عن عنوان “معرف الموارد الموحد” URI الخاص بهاتفك).

مثال، إستخدم معرّف الموارد الموحد للسوق مثل:

market://details?id=com.example.android.wearable.wear.finddevices

 

4- إذا تم إرجاع PhoneDeviceType.DEVICE_TYPE_IOS، فهذا يعني أن الهاتف عبارة عن هاتف يعمل بنظام iOS (أي لا يحتوي على متجر بلي).

أفتح آب ستور على الآيفون عن طريق إستدعاء ()RemoteIntent.startRemoteActivity  على الساعه.

يمكنك تحديد عنوان URL الخاص بتطبيقك على آيتونز ، مثال،
https://itunes.apple.com/us/app/yourappname.

على الآيفون، من خلال نظام تشغيل الساعه، لا يمكنك برمجياً تحديد ما إذا كان تطبيقك الهاتفي مثبتاً أم لا.

كأحد أفضل الممارسات، قم بتوفير آلية للمستخدم (كمثال، زر) لتشغيل آب ستور يدوياً.

 

لاحظ أنه بإستخدام واجهة برمجة تطبيقات الغرض البعيد RemoteIntent الموضحة أعلاه..

يمكنك تحديد فتح أي عنوان URL على الهاتف من الساعة، وليس هناك حاجة إلى تطبيق هاتفي.

 

 

 

 

برامج مستقله

تفاصيل لكشف نوع الهاتف المقترن

في ما يلي مقتطف يستخدم دالة ()getPhoneDeviceType للتحقق من نوع الهاتف الذي يتم إقران الساعة به: 

KOTLIN

var phoneDeviceType: Int = PhoneDeviceType.getPhoneDeviceType(context)

JAVA

int phoneDeviceType = PhoneDeviceType.getPhoneDeviceType(context);

 

 

 

القيمة التي يتم إرجاعها بواسطة الداله ()getPhoneDeviceType هي أحد الإجراءات التالية:

القيمه المرجعه الوصف
DEVICE_TYPE_ANDROID الهاتف المصاحب هو هاتف أندرويد
DEVICE_TYPE_IOS الهاتف المصاحب هو هاتف ios
DEVICE_TYPE_ERROR_UNKNOWN حدث خطأ في تحديد نوع الهاتف المقترن؛ يجب أن يُجرى تحقق آخر في وقتٍ لاحق

 

 

إكتشاف التطبيق بدءاً من هاتف الأندرويد

يمكن لهاتف الأندرويد إكتشاف ما إذا كانت الساعة الخاصة بالمستخدم تحتوي على تطبيقك الخاص بالساعه: التطبيقات المستقله

1- بإستخدام NodeClient، أبحث عن جميع الساعات المتصلة بهاتف المستخدم. لمزيد من المعلومات، راجع النموذج.

2- بإستخدام CapabilityClient، تحقق أي من ساعات المستخدم مثبت عليها تطبيقك.

3- إذا لم يكن تطبيقك مثبت على جميع ساعات المستخدم (قارن النتائج من الخطوة 1 مع النتائج من الخطوة 2)..

أسمح للمستخدم بفتح متجر بلي على الساعات المتبقية من الهاتف بإستخدام دالة ()RemoteIntent.startRemoteActivity .

على وجه التحديد، إستخدم معرِّف الموارد الموحد في السوق لتطبيق الساعه (والذي قد يكون مختلفاً عن عنوان URI الخاص بهاتفك).

مثال، إستخدم عنوان URI للسوق هكذا: التطبيقات المستقله

market://details?id=com.example.android.wearable.wear.finddevices

 

 

 

بيانات الموقع للساعات المقترنة بالآيفون


بالنسبة للساعات التي يتم إقرانها مع أجهزة الآيفون، يجب على المطورين إستخدام موفر الموقع المدمج (FLP)..

للحصول على بيانات الموقع على الساعة. أنظر إكتشاف الموقع على الساعه.

إذا كان الهاتف المرافق متاحاً، فسيستخدم FLP الهاتف المصاحب لبيانات الموقع. التطبيقات المستقله التطبيقات المستقله

 

 

 

الحصول على البيانات الضرورية فقط

بشكلٍ عام، عند الحصول على البيانات من الإنترنت، يجب أن تحصل على البيانات الضرورية فقط. بخلاف ذلك..

يمكنك تقديم وقت إستجابة غير ضروري، إستهلاك الذاكرة، و إستهلاك البطارية.

عندما تكون الساعة متصلة عبر إتصال بلوتوث منخفض الطاقة، قد يكون لدى تطبيقك إمكانية الوصول إلى نطاق ترددي..

يبلغ فقط 4 كيلو بايت في الثانية، حسب الساعة. لذلك، يوصى بإتباع الخطوات التالية:

– فحص طلبات الشبكة و إستجابات البيانات الإضافية الخاصة فقط بتطبيق الهاتف.
– تقليص الصور الكبيرة قبل أن تقوم بإرسالهم عبر الشبكة إلى الساعة.

للحالات التي تحتاج إلى شبكة ذات نطاق ترددي عالي، راجع الوصول إلى الشبكة ذات النطاق الترددي العالي.

 

نماذج كود إضافية

توضح نماذج “التحقق من تطبيق ساعة الأندرويد عن بعد” و “تتبع سرعة الأندرويد” كذلك إستخدام واجهات برمجة التطبيقات التي تمت مناقشتها في هذه الصفحة.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات