不同的行動裝置 App有不同的設計風格,例如標題列風格、按鈕風格等。為了更好地適應您的應用程式的風格,ZOLOZ支援對指定組件的顏色和文案進行簡單的UI自訂配置。本文介紹在原生App SDK模式下如何自訂ZOLOZ產品的UI。
步驟一:配置UI並匯出設定檔
登入ZOLOZ門戶。
不同的網站對應的ZOLOZ門戶地址不同,請根據您的實際網站選擇登入地址。詳細資料,請參見選擇網站。
在左側導覽列,單擊UI Configuration。
根據UI Configuration頁面的配置選項,配置自訂內容。
配置完成後單擊Export,將設定檔匯出到本地。
步驟二:使用設定檔啟動SDK
將步驟一產生的設定檔與ZOLOZ SDK整合,支援Android和iOS作業系統。下面介紹如何使用Android或iOS作業系統的設定檔啟動SDK。
說明:如果您不是用戶端開發人員,請將設定檔發送給您的用戶端開發人員進行配置。
1.在專案中添加設定檔
您需要將設定檔添加到App運行時可以訪問的專案目錄中。
如果是Android App,可以將設定檔添加到
assets目錄中。如果是iOS App,可以將設定檔添加到
MainBundle目錄中。
您也可以將設定檔儲存到CDN伺服器中,並在啟動ZOLOZ SDK之前下載該設定檔。
2.設定設定檔的路徑
在使用設定檔啟動ZOLOZ SDK之前,您需要在ZLZRequest對象中指定設定檔的路徑。
如果是Android應用,請為
CHAMELEON_CONFIG_PATH參數指定設定檔路徑。如果是iOS應用,請為
kZLZChameleonConfigKey參數指定設定檔路徑。
下面兩個樣本分別展示了將名為UIConfig.zip的設定檔添加到Android和iOS應用的ZLZRequest對象中。
樣本1:Android應用
ZLZRequest request = new ZLZRequest();
request.bizConfig = new HashMap<>();
// Omit other configurations
// add configuration file path to bizConfig.
request.bizConfig.put(ZLZConstants.CHAMELEON_CONFIG_PATH, "UIConfig.zip");
return request;樣本2:iOS應用
NSMutableDictionary *bizConfig = [NSMutableDictionary dictionary];
// Omit other configurations
// add configuration file path to bizConfig.
NSString* path = [[NSBundle mainBundle] pathForResource:@"UIConfig" ofType:@"zip"];
[bizConfig setObject:path forKey:kZLZChameleonConfigKey]
ZLZRequest *request = [[ZLZRequest alloc] initWithzlzConfig:clientConfig bizConfig:bizConfig];關於構造ZLZRequest對象的更多資訊,請參見原生App SDK模式。
3.配置多語言(可選)
ZOLOZ門戶的UI配置頁面支援配置多語言,為了使ZOLOZ SDK在啟動時使用其中一種語言,您需要在ZLZRequest對象中為相關參數指定語言資訊。ZOLOZ SDK將以指定的語言讀取設定檔,並將其呈現在您的應用中。
例如,您在UI配置頁面添加的語言為Chinese(Simplified)(zh-CN),並希望SDK在您的Android或iOS應用中使用該語言,則需要指定LOCALE和kZLZLocaleKey參數的值。
如果是Android應用,指定LOCALE參數的值為
“zh-CN”,如樣本3所示。如果是iOS應用,指定kZLZLocaleKey參數的值為
“zh-CN”,如樣本4所示。
LOCALE和kZLZLocaleKey參數的取值必須為language-Country格式。UI配置頁面中提供的各個語言選項的取值,請參見語言相關的參數值格式。
說明:
樣本3:Android應用
ZLZRequest request = new ZLZRequest();
request.bizConfig = new HashMap<>();
// Omit other configurations
// add LOCALE to bizConfig.
request.bizConfig.put(ZLZConstants.LOCALE, "zh-CN");
return request;樣本4:iOS應用
copy
NSMutableDictionary *bizConfig = [NSMutableDictionary dictionary];
// Omit other configurations
// add LOCALE to bizConfig.
[bizConfig setObject:@"zh-CN" forKey:kZLZLocaleKey]
ZLZRequest *request = [[ZLZRequest alloc] initWithzlzConfig:clientConfig bizConfig:bizConfig];