第三方唤醒&登陆
2018-06-08 本文已影响0人
ceremony08
#功能说明:第三方应用或web下载/唤醒/自动登录到学习通
#负责人:iOS-肖泽强, android-殷雅乐
#协议版本:v1.0
协议详细操作过程
1.第三方应用内上架学习通
2.第三方应用后台服务配置
3.第三方应用用户账号对接学习通泛雅后台
4.第三方应用内打开学习通完成自动登录调用方式:
step2配置参数说明:
fid 单位id 超星固定分配 如:2023
fidType 单位类型 超星固定分配 如:1
token 用户登录名(工号、学号)加密信息DES(KEY对接时沟通)
代码示例:
- Android
学习通包名:com.chaoxing.mobile
/**
* 判断是否已经安装学习通
*
* @param context
* @param packageName 学习通包名
* @return
*/
public static boolean isAppInstalled(Context context, String packageName) {
try {
return context.getPackageManager().getPackageInfo(packageName, 0) != null;
} catch (PackageManager.NameNotFoundException e) {
}
return false;
}
/**
* 启动学习通(仅用作唤醒学习通)
*
* @param context
* @param packageName 学习通包名
*/
public static void launchStudy(Context context, String packageName) {
Intent intent = context.getPackageManager().getLaunchIntentForPackage(packageName);
if (intent != null) {
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
}
/**
* @param context 启动学习通并登录
* @param url 登录url(如:cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx)
*/
public static void launchStudyAndSignIn(Context context, String url) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
}
// WEB启动学习通(方式1)
function launchStudy() {
window.location = "cxstudy://";
setTimeout(function() {
if (!document.webkitHidden) {
window.location = 'https://apps.chaoxing.com/';
}
}, 50);
}
// WEB启动学习通(方式2)
function launchStudy2() {
window.location = 'intent://lanuch#Intent;scheme=cxstudy;package=com.chaoxing.mobile;S.browser_fallback_url=https%3A%2F%2Fapp.chaoxing.com;end;';
}
// WEB启动学习通并登录(方式1)
function launchStudyAndSignIn() {
window.location = "cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx";
setTimeout(function() {
if (!document.webkitHidden) {
window.location = 'https://apps.chaoxing.com/';
}
}, 50);
}
// WEB启动学习通并登录(方式2)
function launchStudyAndSignIn2() {
window.location = 'intent://cxstudy/login?fid=xxx&fidType=xxx&token=xxx#Intent;scheme=cxstudy;package=com.chaoxing.mobile;S.browser_fallback_url=https%3A%2F%2Fapp.chaoxing.com;end;';
}
- iOS
/**
* @note canOpenURL 正常调用需在 info.plist中找到LSApplicationQueriesSchemes,添加对应key "cxstudy"
* @param appOpenURLStr 为唤醒地址 仅唤醒而不登录可赋值@"cxstudy://"
* @param appDownloadURLStr 为学习通App Store中的下载地址
*/
if ( [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"cxstudy://"]]) {
NSString *appOpenURLStr = @"cxstudy://cxstudy/login?fid=xxx&fidType=xxx&token=xxx";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appOpenURLStr]];
}
else {
NSString *appDownloadURLStr = @"https://itunes.apple.com/cn/app/%E8%B6%85%E6%98%9F%E5%AD%A6%E4%B9%A0%E9%80%9A/id977946724?mt=8";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString: appDownloadURLStr]];
}