در این بخش مرجع مفصلی برای تماس مستقیم با SDK ارائه شده است. اگر قادر به استفاده از یکی از برنامه های تلفن همراه ما هستید ، دیگر نیازی به استفاده از این رابط ها ندارید ، فقط رابط بسیار ساده بسته QuickStart خود. از آنجا که کد منبع برای این QuickStarts باز است ، می توانید ببینید که چگونه آنها از SDK زیرین استفاده می کنند.
ادغام Android SDK
این بخش به شما نشان می دهد که چگونه می توانید Android Actovov SDK را دریافت کرده و آن را در پروژه خود در Android Studio ادغام کنید.
دریافت SDK Android
Android Approov SDK را می توان با استفاده از ابزار خط فرمان Actovov بارگیری کرد. برای بارگیری آخرین بسته SDK از دستور زیر استفاده کنید:
این آخرین بسته SDK موجود را به پرونده advov_sdk. aar (یا هر مسیری که مشخص کنید) می نویسد.
در صورت ثبت نام برنامه ای که شامل یک نسخه قدیمی است ، نسخه جدید SDK در دسترس است. اگر این اتفاق بیفتد ، باید با استفاده از این دستور ، ارتقاء را در نظر بگیرید ، که همیشه آخرین نسخه را ارائه می دهد.
در بعضی موارد ممکن است شما به استفاده از نسخه خاصی از SDK با یک شناسه عددی خاص هدایت شده باشید. می توانید آن را به شرح زیر انتخاب کنید ، 2772 در این مثال:
وارد کردن SDK به Android Studio
حداقل مورد نیاز SDK Advov Android 5 (API سطح 21) است. شما نمی توانید در برنامه هایی که نسخه های قدیمی تر از این را پشتیبانی می کنند ، از ActoVov استفاده کنید.
Actovov SDK را می توان با استفاده از مراحل زیر به یک پروژه برنامه موجود در استودیوی اندروید اضافه کرد. آنها مبتنی بر اضافه کردن AAR یا شیشه شما به عنوان یک وابستگی هستند.
Navigate to File >ساختار پروژه.
اطمینان حاصل کنید که وابستگی ها در سمت چپ دیالوگ که ظاهر می شود انتخاب شده است.

روی + و سپس . jar/. aar وابستگی را در کشویی کلیک کنید.

در گفتگوی Add JAR/AAR وابستگی ، مسیر پرونده . aar را که قبلاً بارگیری شده است وارد کنید. توجه داشته باشید که حرکت به پرونده امکان پذیر نیست ، بنابراین نیاز به کپی و چسباندن نام آن دارید. سپس بر روی OK کلیک کنید.

در گفتگوی ساختار پروژه OK را کلیک کنید.
سپس یک همگام سازی Gradle اجرا می شود. در صورت عدم موفقیت ، بررسی کنید که نام . AAR را به درستی مشخص کرده اید.
پس از اتمام موفقیت آمیز این مراحل ، آماده شروع استفاده از Actovov SDK هستید. روش های SDK با وارد کردن بسته در دسترس است:
Actovov SDK برای انجام درخواست های خود از پشته OKHTTP استفاده می کند ، بنابراین وابستگی زیر باید به پرونده Gradle شما اضافه شود:
لطفاً کد زیر را به پرونده Gradle خود اضافه کنید:
مجوزهای برنامه زیر باید در مانیفست (androidmanifest. xml) در دسترس باشد تا از Actovov SDK ، داخل برچسب مانیفست سطح بالا:
ورود به خروجی از Actovov SDK را می توان در زیر برچسب Approov در LogCat مشاهده کرد. به طور معمول SDK به جز در هنگام اولیه سازی ساکت است یا اگر مشکلی در اتصال وجود داشته باشد. پشتیبانی Actovov ممکن است برای پاسخ به هر موضوعی که ممکن است مطرح کنید ، به این ورود نیاز داشته باشد.
ورود به سیستم اولیه در راه اندازی مشابه موارد زیر خواهد بود:
این اطلاعات در مورد حساب ، برنامه ، SDK و شناسه دستگاه ارائه می دهد.
ادغام iOS SDK
این بخش به شما نشان می دهد که چگونه می توانید iOS Actovov SDK را بدست آورید و آن را در پروژه خود در Xcode ادغام کنید.
دریافت iOS SDK به عنوان یک xcframework
iOS Approov SDK را می توان با استفاده از ابزار خط فرمان Actovov بارگیری کرد. به طور پیش فرض SDK به عنوان یک XCFrameWork پویا ارائه می شود تا امکان استفاده از هر دو دستگاه فیزیکی و شبیه ساز فراهم شود. برای بارگیری آخرین بسته SDK از دستور زیر استفاده کنید:
این SDK را در Accociation Accoctoov. xcframework (یا هر مسیری که مشخص شده باشد) می نویسد. اطمینان حاصل کنید که این کار قبل از انجام این عملیات خالی است. توجه داشته باشید که بسته IOS RAW بسیار بزرگ است ، بنابراین بسته به سرعت اتصال شما ممکن است چند ثانیه طول بکشد. پیشرفت بارگیری نشان داده شده است.
در صورت ثبت نام برنامه ای که شامل یک نسخه قدیمی است ، نسخه جدید SDK در دسترس است. اگر این اتفاق بیفتد ، باید با استفاده از این دستور ، ارتقاء را در نظر بگیرید ، که همیشه آخرین نسخه را ارائه می دهد.
همچنین می توان یک نسخه کد بیت از کتابخانه SDK را بدست آورد. توصیه می کنیم از نسخه بومی استفاده کنید مگر اینکه به دلایل دیگر در روند انتشار خود از BitCode استفاده کنید. نسخه Bitcode را می توان به شرح زیر بدست آورد:
به دست آوردن نسخه BitCode از SDK به طور خودکار نشان می دهد که SDK در حالت BitCode برای حساب شما استفاده شده است. اگر SDK را از طریق Actovov CLI به دست نیاوردید ، می توان با استفاده از گزین ه-bitcode در هنگام ثبت نام ، حالت BitCode را علامت گذاری کرد. دستورات مدیریت حالت BitCode در دسترس است.
در بعضی موارد ممکن است شما به استفاده از نسخه خاصی از SDK با یک شناسه عددی خاص هدایت شده باشید. در این مثال می توانید آن را به شرح زیر انتخاب کنید ، 5643:
بدست آوردن SDK به عنوان یک . xcframework فقط از نسخه 2. 6. 0 پشتیبانی می شود.
وارد کردن SDK به Xcode
حداقل مورد نیاز SDK IOS 10 است. شما نمی توانید از برنامه هایی استفاده کنید که نسخه های قدیمی تر از این را پشتیبانی می کنند.
چارچوب AppoOv را می توان با استفاده از مراحل زیر به یک پروژه Xcode برنامه موجود اضافه کرد:
در ویرایشگر پروژه XCode ، هدف را که می خواهید برای اضافه کردن چارچوب Approov SDK انتخاب کنید ، انتخاب کنید.
برگه عمومی را انتخاب کنید.
نماد + (به علاوه) را در زیر بخش باینری های تعبیه شده انتخاب کنید.
افزودن دیگری را انتخاب کنید. در گفتگوی پرونده و مرور شده به Approov. xcframeWork به دست آمده با استفاده از ابزار خط فرمان Actovov.
Open in the File را انتخاب کنید.
در صورت نیاز به بررسی موارد مقصد ، موارد کپی را اطمینان حاصل کنید ، سپس Finish را انتخاب کنید.

ورود Approov. xcframework اکنون باید در باینری های تعبیه شده و چارچوب ها و بخش های مرتبط با آن وجود داشته باشد ، و این نشان می دهد که این کار با برنامه شما گنجانده و مرتبط خواهد بود.

برای دسترسی به چارچوب Actovov در کد منبع ، هدر عمومی باید وارد شود. این امر با افزودن موارد زیر به بالای پرونده های منبع یا هدر شما قابل دستیابی است:
دریافت iOS SDK به عنوان یک چارچوب
همچنین می توان SDK را در قالب کلاسیک . FrameWork به شرح زیر بدست آورد:
این SDK را در فهرست Actovovov. framework (یا هر مسیری که مشخص شده باشد) می نویسد. اطمینان حاصل کنید که این کار قبل از انجام این عملیات خالی است. توجه داشته باشید که بسته RAW IOS بسیار بزرگ است (از سفارش 10 مگابایت) بنابراین بسته به سرعت اتصال شما ممکن است چند ثانیه طول بکشد. پیشرفت بارگیری نشان داده شده است.
به طور پیش فرض SDK ارائه شده فقط برای اجرای دستگاه های فیزیکی مناسب است. برای به دست آوردن SDK متفاوت که فقط شامل بایگانی شبیه ساز است ، می توانید از گزین ه-Simolator استفاده کنید. همچنین می توان از گزین ه-bitcode برای به دست آوردن نسخه های فعال شده BitCode از SDK برای هر دو دستگاه یا شبیه ساز استفاده کرد.
توجه داشته باشید که با استفاده از این پسوند می توان SDK را در قالب Legacy . zip بدست آورد. این SDK را در یک پرونده فشرده Actovovov. framework فراهم می کند.
اگر نسخه SDK را قبل از 2. 6. 0 با استفاده از این روش بارگیری کنید ، شامل معماری برای دستگاه های فیزیکی و شبیه ساز خواهد بود. این با XCode نسخه 12. 3 یا بالاتر سازگار نیست. شما باید معماری های شبیه ساز را با استفاده از Lip o-Remove x86_64 Approov. framework/Approo v-o Approov. framework/Accovov و Lip o-Remove I386 Approov. framework/Approo v-o Accov. framework/Accovov قبل از وارد کردن وارد Xcode حذف کنید.
اولیه سازی SDK
پیکربندی اولیه SDK شامل یک رشته کوتاه ثابت است. برای آن رشته جایگزین اولیه کنفرانس را جایگزین کنید. سپس SDK را می توان به شرح زیر آغاز کرد:
در Android ، اولیه سازی Actoov به متن برنامه نیاز دارد. پارامتر خودکار به پیکربندی به روزرسانی نشان می دهد که SDK باید به طور خودکار هرگونه به روزرسانی های پیکربندی پویا را کنترل کند و آنها را در ذخیره سازی گسترده برای برنامه ذخیره کند. پارامتر رشته نظر نهایی باید روی تهی تنظیم شود مگر اینکه شما در حال تغییر مجدد SDK باشید.
اگر مشکلی در ابتدای کار وجود داشته باشد ، یک استثناء پرتاب می شود و اجرای روش های بیشتر در SDK امکان پذیر نخواهد بود.
توجه داشته باشید که هنگام استفاده از پارامتر خودکار ، SDK سعی خواهد کرد آخرین پیکربندی پویا را از سرورهای ActoVov در اولین اولیه سازی پس از نصب برنامه ، واکشی کند. این بدان معنی است که فرایند اولیه سازی می تواند حداکثر 2 ثانیه برای اولین بار طول بکشد. اگر اتصال شبکه در دسترس نباشد ، اولیه سازی شکست نخواهد خورد.
استفاده از خودکار برای پیکربندی به روزرسانی فقط در SDK های 3. 0. 0 و بعداً پشتیبانی می شود.
مجدداً SDK
در شرایط عادی فقط اولیه سازی SDK یک بار مجاز است و هرگونه تلاش برای شروع بار دوم منجر به خطایی خواهد شد.
یک مورد استفاده خاص برای Actovov وجود دارد که در آن یک برنامه واحد ممکن است با چندین حساب مختلف ActoOv همراه باشد ، که ممکن است با اجرای برنامه انتخاب شود. هرچند توجه داشته باشید که SDK ActoOv فقط می تواند با یک حساب به طور همزمان همراه باشد.
مجدداً با ارائه مجدداً به پارامتر نظر تماس اولیه سازی ، صریحاً مشخص می شود.
مجدداً در نسخه 2. 4. 0 و بعداً SDK ها پشتیبانی می شود.
SDK نباید بیش از حد مجدداً مجدداً مورد استفاده قرار گیرد. مورد استفاده معمولی این است که مجدداً مجدداً باید اتفاق بیفتد در صورتی که کاربر برنامه به نوعی حساب خود را تغییر دهد و نیاز به دسترسی به مجموعه دیگری از API های پس زمینه دارد. اگر در پرواز وجود داشته باشد ، هرگز نباید دوباره انجام شود.
عملیات واکشی SDK
Actovov SDK از تعدادی از انواع مختلف عملکرد "واکشی" پشتیبانی می کند. این موارد Fetchaprovtovtok ، FetchApproovtokenandwait ، FetchSecurestring ، Fetchsecurestringandwait ، FetchCustomJwt یا FetchCustomJwtandwait هستند. این امر از واکشی نشانه های Actovov ، رشته های ایمن و JWT های سفارشی با انواع تماس های همزمان (مسدود کردن) و غیر همزمان (غیر مسدود کننده) پشتیبانی می کند.
همه واکشی ها نتیجه واکشی استاندارد را باز می گردانند ، یا به عنوان نتیجه بازگشت یا به عنوان یک پارامتر به یک عملکرد پاسخ به تماس. این نتایج حاصل از عملیات واکشی را ارائه می دهد.
دست زدن به وضعیت
هر واکشی وضعیت واکشی Actovov را ارائه می دهد ، و اطلاعات مربوط به دلیل عدم موفقیت در تعیین نحوه واکنش برنامه را ارائه می دهد. این وضعیت را می توان به شرح زیر به دست آورد ، با فرض اینکه Actovrovresult نمونه ای از نتیجه FETCH به دست آمده است.
نتایج وضعیت احتمالی در جدول زیر به همراه عمل توصیه شده و شرح معنای مرتبط ذکر شده است. توجه داشته باشید که تمام خطاهای iOS توسط ActoVovtokenfetchstatus پیشوند شده است. بشر
ستون توصیه نشان می دهد که در صورت دریافت حالت خطای داده شده ، منطق برنامه چگونه باید ادامه یابد. چهار گزینه ممکن وجود دارد:
- ادامه: نشان می دهد که برنامه باید پیش برود و همانطور که انتظار می رود تماس API را انجام دهد.
- تلاش مجدد: نشان می دهد که برنامه نباید تماس API را انجام دهد. این امر به این دلیل است که به دلیل برخی از شرایط شبکه امکان تکمیل واکشی امکان پذیر نبوده است. Appoov SDK در حال حاضر احیای مختلفی را انجام می دهد ، بنابراین احتمالاً هیچ نکته ای برای انجام یک آزمایش مجدد خودکار دیگر وجود ندارد. درعوض ، آزمایش مجدد باید به یک رویداد دیگر با کاربر دیگر نیاز داشته باشد. مورد معمولی زمانی خواهد بود که دستگاه اتصال شبکه (یا بسیار ضعیف) ندارد ، بنابراین برخی از رویداد های آغاز شده کاربر هنگام ترمیم اتصال ، برای امتحان مجدد لازم است. توجه داشته باشید که در صورت شناسایی MITM در کانال ActoVOV ، ممکن است یک پیام خاص مناسب باشد ، زیرا شبکه مورد استفاده ممکن است نامناسب باشد زیرا TLS را رهگیری می کند. کاربر برای استفاده از برنامه باید به شبکه دیگری متصل شود.
- پیام: نشان می دهد که یک پیام باید به کاربر ارائه شود که چرا امکان پذیر نیست.
- خطا: این یک وضعیت خطا را نشان می دهد که نباید در یک برنامه تولید رخ دهد. ما توصیه می کنیم که این بیماری با هرگونه گزارش تصادف SDK که ممکن است از آن استفاده کنید ، وارد شوید. مرحله بعدی به استراتژی کلی شما برای رسیدگی به خطا بستگی دارد. می توانید پیش بروید و تماس API را برقرار کنید ، اما از نشانه های loggable به عنوان هر نشانه Approov استفاده کنید. این البته توسط پس زمینه رد می شود ، اما اطلاعات مربوط به ورود به سیستم را در آنجا ارائه می دهد.
واکشی نشانه های Approov
در این بخش روشهایی که باید برای به دست آوردن یک نشانه Approov از SDK استفاده شود ، شرح داده شده است. این نشانه ای است که لازم است به یک تماس API پس زمینه بعدی منتقل شود.
شما هرگز نباید در کد برنامه خود یک نشانه Acfovov را ذخیره کنید. همیشه قبل از درخواست API که به آن نیاز دارد ، بلافاصله برای واکشی یک نشانه تماس بگیرید. Actovov SDK به طور خودکار نشانه Actovov را ذخیره می کند و فقط در صورت نیاز به درخواست جدید ، درخواست شبکه را انجام می دهد. علاوه بر این ، SDK هر بار که یک توکن Approov به دست می آید ، چک های سریع دیگری را در مورد یکپارچگی برنامه انجام می دهد.
هنگامی که برنامه شما قادر به واکشی نشانه های Actoov است ، ما اکیداً توصیه می کنیم که پیننگ را نیز پیاده سازی کنید. علاوه بر محافظت از داده های کاربران ، این امر همچنین از نشانه های Actovov در برابر سرقت با یک حمله میانه در میانه محافظت می کند.
توکن همزمان واکشی
این توضیح می دهد که چگونه می توان یک نشانه Actoov را با فرم همزمان تماس واکشی کرد. این روش تا زمانی که یک نشانه به دست نیامده ، برنمی گردد. اگر ممکن است از یک نشانه ذخیره شده استفاده شود ، تماس سریع به سرعت باز می گردد. در صورت نیاز به نشانه جدید ، این تماس شامل زمان تکمیل درخواست های شبکه با سرویس Cloud Actovov خواهد بود و بنابراین ممکن است قبل از بازگشت تاخیر وجود داشته باشد. تأخیر دقیق به عوامل بسیاری ، به ویژه کیفیت اتصال شبکه بستگی دارد.
شما هرگز نباید این تماس را مستقیماً از موضوع اصلی یا UI برنامه خود برقرار کنید. این یک تماس مسدود کننده بالقوه در حال اجرا است و در صورت مسدود کردن پردازش UI ممکن است تأخیرها و تأثیرات غیرقابل پیش بینی در برنامه شما وجود داشته باشد. به جای آن از یک تماس ناهمزمان استفاده کنید.
کد برای برقراری تماس بسیار ساده است ، به شرح زیر:
این روش یک پارامتر واحد را مشخص می کند که دامنه API را که یک نشانه در آن قرار دارد مشخص می کند. این باید یکی از مواردی باشد که برای ارائه نشانه های Approov پیکربندی شده است یا در غیر این صورت خطایی نتیجه خواهد گرفت. قسمت وضعیت واکشی نتیجه برگشتی را بررسی کنید و به درستی واکنش نشان دهید:
توکن ناهمزمان واکشی
یک رویکرد واکشی توکن ناهمزمان نیز ارائه شده است. این یک پارامتر روش پاسخ به تماس را در کنار دامنه هدف می پذیرد. پاسخ به تماس یا هنگامی که یک توکن Approov در دسترس باشد یا خطایی وجود دارد ، نامیده می شود و همیشه از یک موضوع متفاوت به موردی که درخواست تماس را می دهد فراخوانی می شود. روش FetchApproovtoken اجازه می دهد تا واکنهای توکن از موضوعاتی که نمی توانند مسدود شوند ، مانند موضوعات UI آغاز شود. در صورت فراخوانی ، پاسخ به تماس باید وضعیت واکشی نتیجه ارائه شده را بررسی کرده و به طور مناسب واکنش نشان دهد:
دریافت کد پاسخ تأیید
کد پاسخ تأیید ارائه شده است که پس از واگذاری یک توکن Actovov در دسترس است. این حتی اگر توکن Approov یک JWE باشد و در نتیجه رمزگذاری شود در دسترس است. از تماس زیر استفاده کنید:
اگر واکشی Appoov ناموفق باشد ، یا قابلیت قوس فعال نشده باشد ، یک رشته خالی بازگردانده می شود. در غیر این صورت رشته قوس رمزگذاری شده Base32 ارائه شده است. این امکان وجود دارد که این را در ورود به سیستم وارد کنید ، زیرا بدون دسترسی به پس زمینه Actovov ، امکان رمزگشایی محتوای آن وجود ندارد.
این روش فقط در نسخه 2. 5. 0 و SDK های بعدی موجود است.
دریافت دلایل رد
دلایل رد ارائه شده است که پس از واگذاری نشانه Actovov در دسترس است. برای دسترسی به آن از موارد زیر استفاده کنید:
اگر واکشی ناموفق بود ، یا نتیجه پاس نتیجه می گرفت ، یک رشته خالی ارائه می شود. در غیر این صورت ، یک لیست جدا از کاما از خصوصیات دستگاه که باعث طرد می شود ارائه می شود.
این اطلاعات ممکن است به عنوان توضیحی در مورد اینکه چرا قادر به ادامه برنامه نیستند ، به کاربر ارائه شود.
شما می توانید به نام های خاصیت دستگاه تغییر نکنید ، بنابراین ممکن است بخواهید رشته را تقسیم کرده و در برابر خصوصیات متداول (به عنوان مثال ریشه دار یا زندان) بررسی کنید و توضیح مفصلی را برای کاربر ارائه دهید.
این دلایل رد این قابلیت فقط در نسخه 3. 0. 0 و SDK های بعدی موجود است.
اجرای پیننگ کلید عمومی
پیکربندی کلید کلید عمومی توضیح داد که چگونه می توان پیکربندی را برای استفاده از ویژگی Piing Dynamic Actovov استفاده کرد. در این بخش نمونه هایی از نحوه تنظیم پین ها در برنامه در زمان اجرا با استفاده از زبانهای مختلف و پشته های HTTP ارائه شده است.
تنظیم پین
پین ها را می توان بلافاصله پس از شروع Actovov SDK تنظیم کرد و هر پیکربندی SDK پویا نوشته شده است. در این مرحله برخی از پین ها ، از طریق پیکربندی اولیه SDK یا از طریق به روزرسانی های پیکربندی SDK پویا که از زمان نصب برنامه دریافت شده است ، در دسترس خواهد بود.
این دسترسی اولیه به پین ها اجازه می دهد تا حتی برای چارچوب های توسعه برنامه که خیلی زود هنگام راه اندازی برنامه به اطلاعات نیاز دارند ، تنظیم شود. با این حال ، برای اینکه این پین ها در واقع تأثیر در برنامه داشته باشند ، لازم است کد را برای برقراری ارتباط پین ها به پشته TLS اضافه کنید.
SDK یک روش GetPins را ارائه می دهد که می تواند توسط برنامه برای به دست آوردن مجموعه پین های پیکربندی شده در حال حاضر برای استفاده استفاده شود. پین ها بلافاصله پس از اولیه سازی Approov SDK تنظیم می شوند. روش GetPins باید با پارامتر عمومی-کلید-SHA256 فراخوانی شود ، که نشان دهنده نوع پین در حال انجام است. این مشخص می کند که نوع پیننگ ، هش Sha256 از موضوع اطلاعات کلید عمومی (SPKI) گواهی است. این تنها نوع پین پشتیبانی است. لیستی از پین های قابل قبول بازگردانده می شود و زنجیره گواهی ارائه شده توسط اتصال به آن دامنه باید حداقل یکی از این پین ها را شامل شود.
هنگامی که ریشه های اعتماد مدیریت شده فعال می شوند ، پین های اضافی از GetPins تحت نام دامنه * تهیه می شوند. این اجازه می دهد تا مجموعه ریشه مورد اعتماد فقط یک بار ارائه شود ، حتی اگر از آنها برای چندین دامنه API استفاده شود.
این اجرای پیننگ باید به روش زیر عمل کند:
- اجرای پیننگ باید پین های مرتبط با دامنه خاص را بررسی کند. اگر آنها تعریف شوند ، از آنها به عنوان تنها مجموعه پین پذیرفته شده استفاده می شوند.
- اگر هیچ پین برای یک دامنه تعریف نشده باشد ، پس اجرای باید بررسی کند که آیا پین های مرتبط با دامنه * وجود دارد یا خیر. اگر وجود داشته باشد ، آنها باید به عنوان تنها مجموعه پذیرفته شده پین استفاده شوند و گواهینامه های ریشه ای معتبر را نشان می دهند.
- در غیر این صورت اتصال مشمول پین شدن نیست.
این رویکرد اجازه می دهد ترکیبی از دامنه های API که از پین ها و دامنه های خاص با استفاده از ریشه های اعتماد مدیریت شده استفاده می کنند.
SDK همچنین یک روش GetPinsjson را ارائه می دهد که پین های موجود در Marshaled JSON را فراهم می کند ، برای مواردی که بازده نوع از GetPins را نمی توان به راحتی بین زمان های زبان زبان قرار داد.
واکنش به تغییرات پیکربندی واکنش نشان می دهد
هر زمان که یک توکن ActoOv واگذار شود ، این احتمال وجود دارد که پیکربندی SDK پویا جدید دریافت شود. این اتفاق برای برنامه ها رخ می دهد که تغییر پیکربندی پین در حساب انجام شود. این بدان معنی است که پین هایی که برنامه استفاده می کند ممکن است تغییر کرده باشد و تماس بعدی به روش GetPins SDK پین های اصلاح شده را ارائه می دهد. اگر اجرای شما این روش را به صورت پویا در تمام اتصالات TLS جدید فراخوانی می کند ، به روزرسانی کاملاً به طور خودکار اتفاق می افتد.
با این حال ، در بعضی موارد ، اجرای شما ممکن است پین ها را به عنوان بخشی از ساخت پشته شبکه تنظیم کند. این مورد به ویژه در مورد OKHTTP که در آن گواهینامه Pier در طول ساخت و ساز تنظیم می شود ، موردی است. در این حالت اجرای شما باید تغییرات پیکربندی را پس از واکنهای ActoOv تشخیص دهد و سپس ترتیب دهید تا با پین های اصلاح شده بازسازی شود.
یک بولی با isconficchanged با نتیجه واکشی از SDK تهیه شده است. تغییر در پیکربندی SDK به طور معمول نتیجه برخی از تغییرات در حوزه های API و/یا پین هایی است که روی آنها تنظیم شده است. توجه داشته باشید که تماس با FetchConfig برای تنظیم مجدد پرچم تغییر پیکربندی لازم است ، به طوری که فقط در صورت وجود تغییر بیشتر در پین ها ادعا می شود.
واکنش به زور اعمال پین
در بعضی موارد امکان واکنش سریع برنامه در برابر تغییرات پین کردن امکان پذیر نیست. در این حالت برنامه ممکن است برای اعمال پیکربندی پین جدید به یک راه اندازی مجدد نیاز داشته باشد یا کاربر را مجبور به راه اندازی مجدد برنامه کند. به طور کلی اگرچه ما مایل نیستیم هر بار که تغییر پیکربندی وجود داشته باشد ، برنامه را مجدداً راه اندازی کنیم ، زیرا این می تواند منجر به تجربه کاربر ضعیف شود. علاوه بر این ، ما ممکن است بخواهیم قبل از زمان پین های جدید را به پیکربندی سوق دهیم تا در صورت لزوم در دسترس باشند و در نتیجه از نیاز به راه اندازی مجدد تهاجمی به طور کلی جلوگیری کنیم ، زیرا به هر حال احتمال شروع مجدد برنامه وجود دارد.
یک رویکرد این است که هرگونه راه اندازی مجدد را به تعویق بیندازید تا اینکه هم به روزرسانی پیکربندی در انتظار وجود داشته باشد و یک استثناء خرابی پیننگ توسط برنامه صید شده است. به این ترتیب یک راه اندازی مجدد فقط در صورت لزوم اتفاق می افتد. البته این ممکن است کد را با نیاز به چک های ویژه و منطق در مورد خرابی پین کردن پیچیده کند.
مکانیسم دیگری ارائه شده است که توسط دستور برنامه پین اجباری آغاز می شود. یک خاصیت isforceapplypins در نتیجه واکشی ارائه شده است. اگر این پرچم تنظیم شده باشد ، نشان می دهد که آخرین تماس با GetPins ساخته شده توسط برنامه ، نسخه ای از پین ها را قدیمی تر از آنچه که مجبور می شود به دست آورد. بنابراین اگر یک برنامه از آخرین به روزرسانی پیکربندی پین به طور طبیعی مجدداً راه اندازی شده باشد ، نسخه به اندازه کافی اخیر را در اختیار شما قرار می دهد و پرچم ادعا نمی شود ،
این واقعیت که این پین ها مجبور شده اند نشان می دهد که مهم است که نسخه جدید مورد استفاده قرار گیرد ، شاید به این دلیل که یک گواهی به خطر افتاده یا پین های جدید برای دسترسی به یک نقطه پایانی لازم است. اگر پرچم تنظیم شده باشد ، برنامه باید اقدام کند تا اطمینان حاصل شود که پین ها به آخرین نسخه به روز می شوند ، حتی اگر این به معنای شروع مجدد برنامه باشد. تماس با GetPins پرچم را برای دفعه بعد که یک واکشی Actovov ساخته می شود ، تنظیم می کند.
مکانیسمی برای نشان دادن نیاز به مجبور کردن به روزرسانی فوری در جایی که این امر ضروری است فراهم شده است:
از شما خواسته می شود تا به شرح زیر تأیید شود:
در مورد استفاده معمولی ، پین های جدید باید چند هفته قبل از خدمت به روز شوند و بعد از آن بعداً مجبور شوند. این روش فقط منجر به راه اندازی مجدد در اقلیت برنامه هایی می شود که برای آن دوره مجدداً راه اندازی نشده اند. در مواقع اضطراری ، اجباری می تواند بلافاصله صادر شود. توجه داشته باشید که این رفتار فقط بر ادغام برنامه هایی که قادر به به روزرسانی پویا پین های خود نیستند ، تأثیر می گذارد.
التداول المالي...
ما را در سایت التداول المالي دنبال می کنید
برچسب :
نویسنده : سیروس ابراهیمزاده
بازدید : <-PostHit->
تاريخ : دوشنبه
29 اسفند
1401 ساعت: 17:36