أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
نظرة عامة
تتيح لك سياسة MonetizationLimitsCheck فرض حدود لتحقيق الربح على طلبات البيانات من واجهة برمجة التطبيقات التي يتم إجراؤها. بواسطة مطور التطبيق.
في ما يلي بعض الحالات التي يتم فيها تفعيل السياسة:
- إذا لم يشترِ مطوِّر التطبيق الذي يصل إلى واجهة برمجة التطبيقات التي يتمّ تحقيق الربح منها اشتراكًا منتج واجهة برمجة التطبيقات المرتبط
- لا يتضمّن حساب المطوِّر رصيدًا كافيًا.
- تجاوز المطوّر الحدّ الأقصى لعدد المعاملات.
لمزيد من المعلومات حول كيفية إرفاق السياسة بالخادم الوكيل لواجهة برمجة التطبيقات، يمكنك الاطّلاع على فرض حدود تحقيق الربح على الخوادم الوكيلة لواجهة برمجة التطبيقات
عنصر واحد (<MonetizationLimitsCheck>
)
تُحدِّد سياسة MonetizationLimitsCheck.
القيمة التلقائية | لا ينطبق |
هل هو مطلوب؟ | مطلوب |
النوع | نوع معقد |
العنصر الرئيسي | لا ينطبق |
العناصر الفرعية |
<DisplayName> <FaultResponse> <IgnoreUnresolvedVariables> <Variables> |
يقدم الجدول التالي وصفًا عالي المستوى للعناصر الفرعية في <MonetizationLimitsCheck>
:
عنصر ثانوي | مطلوب؟ | الوصف |
---|---|---|
<DisplayName> |
اختياري | اسم مخصّص للسياسة |
<FaultResponse> |
اختياري | تحدِّد هذه السياسة رسالة الردّ التي يتم عرضها للعميل الذي قدّم الطلب عند. رفع الخطأ. |
<IgnoreUnresolvedVariables> |
اختياري | تحدِّد ما إذا كانت المعالجة تتوقف عند مواجهة متغيّر لم يتم حله. |
<Variables> |
اختياري | تُستخدَم لتحديد متغيّرات التدفق للتحقّق من الحدود القصوى لتحقيق الربح. |
يستخدم العنصر <MonetizationLimitsCheck>
الصيغة التالية:
البنية
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="POLICY_NAME"> <DisplayName>DISPLAY_NAME</DisplayName> <IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables> <Variables> <Product>VARIABLE_NAME</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>MESSAGE_TEXT</message> <message>MESSAGE_TEXT</message> </messages> </error> </Payload> <StatusCode>HTTP_STATUS</StatusCode> <ReasonPhrase>REASON_TEXT</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
مثال
يعرض المثال التالي تعريف سياسة MonetizationLimitsCheck:
<?xml version="1.0" encoding="UTF-8"?> <MonetizationLimitsCheck async="false" continueOnError="false" enabled="true" name="Monetization-Limits-Check"> <DisplayName>Monetization Limits Check</DisplayName> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> <Variables> <Product>myproductvar.name</Product> </Variables> <FaultResponse> <Set> <Payload contentType="text/xml"> <error> <messages> <message>Developer has reached usage quota</message> <message>Is Developer Suspended - {monetizationLimits.isDeveloperSuspended} </message> </messages> </error> </Payload> <StatusCode>403</StatusCode> <ReasonPhrase>Forbidden</ReasonPhrase> </Set> </FaultResponse> </MonetizationLimitsCheck>
يتضمن هذا العنصر السمات التالية الشائعة لجميع السياسات:
السمة | تلقائي | مطلوب | الوصف |
---|---|---|---|
name |
لا ينطبق | مطلوب |
الاسم الداخلي للسياسة. يمكن أن تحتوي قيمة السمة اختياريًا، يمكنك استخدام العنصر |
continueOnError |
false | إجراء اختياري | يمكنك ضبطها على "خطأ" لعرض رسالة خطأ عند تعذّر تنفيذ إحدى السياسات. ويُعدّ هذا سلوكًا متوقعًا في معظم السياسات. يمكنك ضبط القيمة على "صحيح" للاستمرار في تنفيذ العملية حتى بعد تعذُّر تنفيذ سياسة. |
enabled |
صحيح | إجراء اختياري | اضبط القيمة على "true" لفرض السياسة. اضبط هذه القيمة على "false" على "إيقاف" السياسة. لن يتم فرض السياسة حتى إذا ظلت مرتبطة بتدفق. |
async |
false | منهي العمل به | تم إيقاف هذه السمة نهائيًا. |
مرجع العنصر الثانوي
يصف هذا القسم العناصر الثانوية في<MonetizationLimitsCheck>
.
<DisplayName>
استخدِمه مع السمة name
لتصنيف السياسة في
لإدارة الخادم الوكيل لواجهة المستخدم باستخدام اسم مختلف وطبيعي أكثر.
يُعدّ العنصر <DisplayName>
شائعًا في جميع السياسات.
القيمة التلقائية | timing fixed in amara |
هل هو مطلوب؟ | اختياريّ. إذا لم يتم حذف <DisplayName> ، يتم استخدام قيمة
يتم استخدام سمة name في السياسة |
النوع | سلسلة |
العنصر الرئيسي | <PolicyElement> |
العناصر الفرعية | لا ينطبق |
يستخدم العنصر <DisplayName>
الصيغة التالية:
البنية
<PolicyElement> <DisplayName>policy_display_name</DisplayName> ... </PolicyElement>
مثال
<PolicyElement> <DisplayName>My Validation Policy</DisplayName> </PolicyElement>
لا يحتوي العنصر <DisplayName>
على سمات أو عناصر ثانوية
<IgnoreUnresolvedVariables>
تحدِّد هذه السياسة ما إذا كان يجب إيقاف معالجة السياسة عندما تواجه Apigee متغيّرًا لم يتم حله.
القيمة التلقائية | صحيح |
هل هو مطلوب؟ | اختياري |
النوع | منطقي |
العنصر الرئيسي |
<MonetizationLimitsCheck> |
العناصر الفرعية | لا ينطبق |
لتجاهل المتغيّرات التي لم يتم حلها ومواصلة المعالجة، اضبط القيمة على true
.
وبخلاف ذلك، false
. القيمة التلقائية هي true
.
يختلف ضبط <IgnoreUnresolvedVariables>
على true
عن ضبط قيمة العنصر <MonetizationLimitsCheck>
.
continueOnError
إلى true
في حال ضبط continueOnError
على true
، تتجاهل Apigee
أخطاء المتغير فقط ولكن جميع الأخطاء.
يستخدم العنصر <IgnoreUnresolvedVariables>
الصيغة التالية:
البنية
<IgnoreUnresolvedVariables>[true|false]</IgnoreUnresolvedVariables>
مثال
يحدّد المثال التالي ضبط السمة <IgnoreUnresolvedVariables>
على false
:
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Variables>
تحدِّد متغيّرات التدفق التي تريد استرجاع أسماء الكيانات أو الموارد أثناء تنفيذ السياسة.
يمكنك تحديد العنصر <Product>
فقط في العنصر <Variables>
. لعبة Apigee
اسم منتج واجهة برمجة التطبيقات من متغيّر التدفق المحدّد في العنصر <Product>
. إذا كنت
عدم تحديد العنصر <Variables>
، تحصل Apigee تلقائيًا على اسم منتج واجهة برمجة التطبيقات من
متغيّر سياق apiproduct.name
باستخدام اسم منتج واجهة برمجة التطبيقات، تحصل Apigee على
خطة أسعار متوافقة مع المنتج وتنفيذ عملية التحقق من حدود تحقيق الربح
القيمة التلقائية | لا ينطبق |
هل هو مطلوب؟ | اختياري |
النوع | نوع معقد |
العنصر الرئيسي |
<MonetizationLimitsCheck> |
العناصر الفرعية |
<Product> |
يستخدم العنصر <Variables>
الصيغة التالية:
البنية
<Variables> <Product>VARIABLE_NAME</Product> </Variables>
مثال
يحصل المثال التالي على اسم منتج واجهة برمجة التطبيقات من متغيّر التدفق المخصّص "myproductvar.name
"
الموجودة في تدفق خادم وكيل واجهة برمجة التطبيقات.
<Variables> <Product>myproductvar.name</Product> </Variables>
يمكنك ضبط متغيّرات التدفق المخصّصة باستخدام سياسات مثل AssignMessage أو JavaScript.
<Product>
تحدِّد المتغيّر الذي يحتوي على اسم منتج واجهة برمجة التطبيقات.
القيمة التلقائية | لا ينطبق |
هل هو مطلوب؟ | اختياري |
النوع | سلسلة |
العنصر الرئيسي |
<Variables> |
العناصر الفرعية | لا ينطبق |
يستخدم العنصر <Product>
الصيغة التالية:
البنية
<Product>VARIABLE_NAME</Product>
مثال
يحصل المثال التالي على اسم منتج واجهة برمجة التطبيقات من متغيّر التدفق المخصّص "myproductvar.name
"
الموجودة في تدفق خادم وكيل واجهة برمجة التطبيقات.
<Product>myproductvar.name</Product>
يمكنك ضبط متغيّرات التدفق المخصّصة باستخدام سياسات مثل AssignMessage أو JavaScript.
<FaultResponse>
لتعريف رسالة الرد التي يتم إرجاعها إلى العميل صاحب الطلب في حال حدوث خطأ. يمكنك تخصيص الردّ الرسائل بناءً على متطلباتك. لمزيد من المعلومات عن وكل عناصره الفرعية، يمكنك الاطّلاع على FaultResponse.
متغيّرات التدفق
إذا تم ضبط قيمة مَعلمة <MonetizationLimitsCheck>
قيمة السمة ContinueOnError
على "صحيح"، ولم يتم رفع أي خطأ. في هذه الحالة،
متغيرات التدفق، mint.limitsViolated
، وmint.isDeveloperSuspended
،
يتم ضبط mint.limitsPolicyError
تلقائيًا. يمكن استخدام هذه المتغيرات
وإجراء المزيد من معالجة الاستثناء إذا لزم الأمر.