美文网首页
iosH5和APP之间的通信

iosH5和APP之间的通信

作者: __下一个天亮__ | 来源:发表于2017-04-11 09:57 被阅读561次

    缘由是一个需求:

    用户在没有下载APP的前提下,浏览了H5,在H5页面唤起到AppStore下载页面,下载APP后,点击“打开”直接唤起到刚刚在H5中触发的行为。

    现在有很多第三方在做这个事情。由于种种原因还是选择先进行自我尝试,看了一篇对此介绍的非常全面的文章,

    通信标识

    有需要的同学根据自己的需要使用吧。


    简单记录一下我们用的唯一标识:

    1:Screen Width   Screen Height

    2:os(这个指的是在获取UA中截取到的“iphone os 8_3”)

    3:ip (由于H5获取到的内容有限,取的是外网ip,即手机浏览器打开,在百度中输入ip得到的ip地址)

    4:时间戳(用来在有限时间控制)

    //获取外网ip,其实还有其他办法,推荐此方法,比较快

    NSError*error;

    NSURL*ipURL = [NSURLURLWithString:@"http://ipof.in/txt"];

    NSString*ipString = [NSStringstringWithContentsOfURL:ipURLencoding:NSUTF8StringEncodingerror:&error];

    NSLog(@"获取到的外网ip = %@",ipString);

    //获取UA标识,不能没有

    - (void)webviewUserAgent {

    UIWebView*webview = [[UIWebViewalloc]initWithFrame:CGRectZero];

    NSString*secretAgent = [webviewstringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];

    NSLog(@"secretAgent=%@", secretAgent);

    self.secretAgentString= [NSStringstringWithFormat:@"%@",secretAgent];

    NSString*newUagent = [NSStringstringWithFormat:@"%@ miaopai_ios", secretAgent];

    NSDictionary*dictionary = [[NSDictionaryalloc]initWithObjectsAndKeys:newUagent,@"UserAgent",nil];

    [[NSUserDefaultsstandardUserDefaults]registerDefaults:dictionary];

    }

    相关文章

      网友评论

          本文标题:iosH5和APP之间的通信

          本文链接:https://www.haomeiwen.com/subject/vhdyattx.html