فئة GNSPermission
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
يتيح لك هذا الصف إدارة حالة إذن "الأجهزة المجاورة" للتطبيق على الجهاز الحالي.
يجب أن يمنح المستخدم إذنًا لاستخدام جهات النشر والاشتراكات. في المرة الأولى التي ينشئ فيها التطبيق منشورًا أو اشتراكًا، يظهر تلقائيًا مربّع الحوار الخاص بإذن "الأجهزة المجاورة"، ما يمنح المستخدم فرصة الموافقة على ذلك. وإذا رفض المستخدم ذلك، سيتم عرض تنبيه في كل مرة يتم فيها إنشاء منشور أو اشتراك بعد ذلك، ما يمنحه فرصة أخرى للموافقة عليه.
ننصح بأن يوفّر تطبيقك للمستخدم طريقة لتفعيل الأذونات أو إيقافها، على سبيل المثال، باستخدام مفتاح تبديل في صفحة الإعدادات. عندما يفعِّل المستخدم الخيار، يجب أن يطلب التطبيق تنفيذ الإجراءَين isGranted
وsetGranted
أدناه لتبديل حالة الإذن.
لتتبُّع حالة الإذن، يمكنك إنشاء كائن GNSPermission
وتمرير معالِج تم تغييره. سيتم استدعاء المعالِج عندما يتم تغيير حالة الإذن، ما يسمح بالحفاظ على مزامنة واجهة المستخدم في تطبيقك مع الحالة الحالية.
تكتسب NSObject.
- (instancetype) initWithChangedHandler: |
|
(GNSPermissionHandler) |
changedHandler |
|
تعمل هذه السياسة على إعداد كائن الإذن باستخدام معالج يتم استدعاؤه في حال تغيّرت حالة الإذن.
يتيح المعالج للتطبيق الحفاظ على مزامنة واجهة المستخدم الخاصة به مع حالة الإذن. لا يتم استدعاء المعالج حتى يوافق المستخدم على الإذن أو يرفضه.
- Parameters
-
handler | The permission granted handler |
ما إذا تم منح إذن "الأجهزة المجاورة" حاليًا للتطبيق على هذا الجهاز أم لا.
تعني "نعم" أن المستخدم قد منح إذن "الأجهزة المجاورة"، بينما تعني "لا" أن المستخدم قد رفض الإذن. إذا لم يتم منح الإذن، لن تعمل جهات النشر والاشتراكات.
+ (void) setGranted: |
|
(BOOL) |
granted |
|
تغيير حالة إذن "الأجهزة المجاورة"
يجب طلب ذلك فقط استجابة لإجراء المستخدم المتمثل في تغيير حالة الإذن.
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)
[null,null,["تاريخ التعديل الأخير: 2025-08-13 (حسب التوقيت العالمي المتفَّق عليه)"],[[["\u003cp\u003eThe \u003ccode\u003eGNSPermission\u003c/code\u003e class manages the Nearby permission state for your app, enabling features like publications and subscriptions.\u003c/p\u003e\n"],["\u003cp\u003eUsers must grant Nearby permission for these features to function; the system automatically requests this permission when needed.\u003c/p\u003e\n"],["\u003cp\u003eYou can track and react to permission state changes using a \u003ccode\u003eGNSPermission\u003c/code\u003e object with a change handler.\u003c/p\u003e\n"],["\u003cp\u003eProvide a UI element, like a toggle switch, allowing users to control the Nearby permission and update the state using \u003ccode\u003eisGranted\u003c/code\u003e and \u003ccode\u003esetGranted\u003c/code\u003e methods.\u003c/p\u003e\n"],["\u003cp\u003eThe initial permission request is automatic, but subsequent requests depend on the user's previous choice and your app's UI for toggling the permission.\u003c/p\u003e\n"]]],[],null,["# GNSPermission Class\n\n[Instance Methods](#pub-methods) \\| [Class Methods](#pub-static-methods) \nGNSPermission Class Reference \n\nOverview\n--------\n\nThis class lets you manage the Nearby permission state for the app on the current device.\n\nThe user must grant permission before publications and subscriptions will work. The first time the application creates a publication or subscription, the Nearby permission dialog is automatically displayed, giving the user the opportunity to opt in. If the user denies, an alert will be displayed each time a publication or subscription is subsequently created, giving them another chance to opt in.\n\nIt is recommended that your app provide the user a method for switching the permission on or off; for instance, by using a toggle switch in a settings page. When the user toggles it, the app should call the `isGranted` and `setGranted` methods below to toggle the permission state.\n\nTo track the permission state, create a [GNSPermission](/nearby/messages/ios/reference/interface_g_n_s_permission \"This class lets you manage the Nearby permission state for the app on the current device...\") object and pass in a changed handler. The handler will be called whenever the permission state is changed, allowing your app's UI to be kept in sync with the current state.\n\nInherits NSObject.\n\n|----------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| Instance Method Summary ----------------------- ||\n| (instancetype) | - [initWithChangedHandler:](/nearby/messages/ios/reference/interface_g_n_s_permission#a28317128a0274fd2f24c8e21456f2276) |\n| | Initializes the permission object with a handler that is called whenever the permission state changes. [More...](#a28317128a0274fd2f24c8e21456f2276) |\n| ||\n\n|--------|--------------------------------------------------------------------------------------------------------------------------|\n| Class Method Summary -------------------- ||\n| (BOOL) | + [isGranted](/nearby/messages/ios/reference/interface_g_n_s_permission#aef0ec5cb0489597c5e90a7af81b4b574) |\n| | Whether Nearby permission is currently granted for the app on this device. [More...](#aef0ec5cb0489597c5e90a7af81b4b574) |\n| ||\n| (void) | + [setGranted:](/nearby/messages/ios/reference/interface_g_n_s_permission#a115c4964d2f1b5317bf888cb40b6e0bf) |\n| | Changes the Nearby permission state. [More...](#a115c4964d2f1b5317bf888cb40b6e0bf) |\n| ||\n\nMethod Detail\n-------------\n\n|------------------------------------------|---|------------------------|------------------|---|\n| - (instancetype) initWithChangedHandler: | | (GNSPermissionHandler) | *changedHandler* | |\n\nInitializes the permission object with a handler that is called whenever the permission state changes.\n\nThe handler lets the app keep its UI in sync with the permission state. The handler is not called until the user has approved or denied permission.\n\nParameters\n:\n\n |---------|--------------------------------|\n | handler | The permission granted handler |\n\n\n|--------------------|---|---|---|\n| + (BOOL) isGranted | | | |\n\nWhether Nearby permission is currently granted for the app on this device.\n\nYES means the user has granted Nearby permission, and NO means the user has denied permission. If permission has not been granted, publications and subscriptions will not work. \n\n|----------------------|---|--------|-----------|---|\n| + (void) setGranted: | | (BOOL) | *granted* | |\n\nChanges the Nearby permission state.\n\nThis should be called only in response to the user action of changing the permission state."]]