Google, सुविधा के लॉन्च से जुड़े फ़्लैग का इस्तेमाल यह पक्का करने के लिए करता है कि कोड की शाखाएं ठीक से काम कर रही हैं या नहीं. AOSP में कुछ खास तरह के योगदान देने के लिए भी ये फ़्लैग ज़रूरी हैं. सुविधा लॉन्च फ़्लैगिंग को लागू करने से पहले, यह तय कर लें कि आपके बदलाव के लिए कोई फ़्लैग ज़रूरी है या नहीं. अगर फ़्लैग ज़रूरी हो, तो यह भी तय करें कि किस तरह का फ़्लैग इस्तेमाल करना है.
फ़्लैग के इस्तेमाल का पता लगाना
सुविधा लॉन्च करने के लिए फ़्लैग का इस्तेमाल कब करना है, यह तय करने के लिए इन दिशा-निर्देशों का पालन करें:
अगर कोई ऐसा बदलाव किया जा रहा है जिसकी वजह से एओएसपी कोड बेस ठीक से काम नहीं कर रहा है, जैसे कि नई सुविधा जोड़ना या किसी मुश्किल गड़बड़ी को ठीक करना, तो फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करें.
इसके उलट, अगर आप कोड में ऐसा बदलाव कर रहे हैं जिससे कोड बेस में कोई गड़बड़ी नहीं होती, जैसे कि टिप्पणियों में बदलाव करना, तो आपको फ़ीचर लॉन्च फ़्लैग का इस्तेमाल करने की ज़रूरत नहीं है.
फ़्लैग का टाइप तय करना
फ़्लैग दो तरह के होते हैं: aconfig फ़्लैग और बिल्ड फ़्लैग.
Aconfig फ़्लैग
Aconfig फ़्लैग का इस्तेमाल, टेस्टिंग और रिलीज़ की प्रोसेस के दौरान, रिलीज़ नहीं किए गए कोड को रिलीज़ किए गए कोड से अलग करने के लिए किया जाता है. Aconfig फ़्लैग, पढ़ने-लिखने या सिर्फ़ पढ़ने के लिए हो सकते हैं:
रीड-राइट aconfig फ़्लैग, बूलियन वैरिएबल होते हैं. इन्हें रनटाइम पर चालू (
true
पर सेट करें) या बंद (false
पर सेट करें) किया जा सकता है. मुख्य शाखा के स्टेबिलिटी पर असर डाले बिना, बदलावों को टेस्ट करने और रिलीज़ करने के लिए, रीड-राइट फ़्लैग का इस्तेमाल करें.रीड-ओनली aconfig फ़्लैग, बूलियन कॉन्स्टेंट होते हैं. इन्हें रनटाइम के दौरान बदला नहीं जा सकता. रीड-राइट कॉन्फ़िगरेशन फ़्लैग को रीड-ओनली कॉन्फ़िगरेशन फ़्लैग में बदला जा सकता है. ऐसा उन कोड के लिए किया जा सकता है जो स्थिर हैं और रिलीज़ के लिए तैयार हैं.
इसके अलावा, आपके इस्तेमाल किए जा रहे कंपाइलर के आधार पर, जब रीड-ओनली फ़्लैग का इस्तेमाल होता है, तो जिस कोड को एक्ज़ीक्यूट नहीं किया जाता है उसे बिल्ड से बाहर रखा जा सकता है. इसलिए, जो कोड रिलीज़ का हिस्सा बनने के लिए तैयार नहीं है उसे छिपाने के लिए, रीड-ओनली फ़्लैग का इस्तेमाल किया जा सकता है.
फ़्लैग बनाना
बिल्ड फ़्लैग, बिल्ड-टाइम कॉन्सटेंट (स्ट्रिंग) होते हैं और रनटाइम के दौरान इनमें बदलाव नहीं किया जा सकता. इन फ़्लैग का इस्तेमाल उन स्थितियों में करें जहां aconfig फ़्लैग का इस्तेमाल नहीं किया जा सकता. जैसे:
- आपके पास पहले से कंपाइल या पहले से तैयार कोड होता है जिसे आपको बिल्ड में शामिल करना है.
- आपको बिल्ड सिस्टम में बदलाव करने हैं.
- आपको कोड के साइज़ को मैनेज करने के लिए, डिपेंडेंसी के आस-पास फ़्लैग लगाने हैं.