ios 的 app 开屏广告跳转方式,业界都是怎么处理的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
zror
V2EX    程序员

ios 的 app 开屏广告跳转方式,业界都是怎么处理的?

  •  
  •   zror 2022-01-08 11:48:55 +08:00 4125 次点击
    这是一个创建于 1380 天前的主题,其中的信息可能已经有所发展或是发生改变。

    事情的起因: 我们有个 H5 的页面,要投放在我们 app 的开屏广告位置。H5 里的跳转链接都是通过 href 的形式跳转 scheme 原生协议地址。但 ios 端开屏广告打开我们的 H5 ,里面的链接都无法打开。ios 开发说开屏广告 H5 打开链接的方式需要通过 jsbridge 的形式。 但 H5 的页面投放在我们 app 其他位置都不会出现问题,只有 ios 端的开屏广告位置有这个问题。

    下面是 ios 开发和我解释的,我也不懂 ios 开发,麻烦各位帮忙看看,业界都是这么处理开屏广告的吗?

    “开屏广告落地页在广告投放时有约定的投放方式。这么处理主要是因为同一个 window 下,其他协议换起打开的落地页如果是横屏的,会导致广告页面也横屏,所以业内都是按照两个 window 处理,jsbridge 知道是在哪个 window 上弹出,目前广告都是按照这个约定的规则投放” “安卓每个页面是单独的 activity, activity 旋转不会影响别的, activity 自己就是独立的” “iOS 是一个 window,一个导航,导航压栈,屏幕旋转 window 就要转动”

    如果他说的对,业界都是这么处理的,那前端还需要把页面里所有的 a 链接全改成 jsbridge 跳转?关键我们的 H5 也要投放在 M 端的啊。

    12 条回复    2022-01-10 17:12:13 +08:00
    kekxv
        1
    kekxv  
       2022-01-08 13:09:20 +08:00 via iPhone
    你这个问题不做开屏广告就能解决
    zror
        2
    zror  
    OP
       2022-01-08 13:52:25 +08:00
    @kekxv 我的问题是 如果是开屏广告 必须就要用 jsbridge 方式跳转么?
    kekxv
        3
    kekxv  
       2022-01-08 14:33:31 +08:00 via iPhone
    其实这个我不懂,不过我感觉应该是要区分什么广告吧,
    如果是软件(下载 app )的广告 url 设置 app store 应该可以吧,
    或者你记录点击状态,广告屏过去之后再做跳转,
    又或者,你在 html5 里把跳转事件做成封装,对当前环境进行判断之后再做对应跳转
    markgor
        4
    markgor  
       2022-01-08 16:56:55 +08:00
    jsbridge 是通讯方式而不是跳转方式吧,我的理解...
    我不清楚你的广告跳转是要怎样跳转,如果是单纯的 h5 跳转,让开发写个 webview 的页面,开屏点击后跳转去 webview ,然后该干嘛干嘛。
    如果是想 h5 跳转打开其他 APP ,那就需要通过 JSBridge 来交互。
    iyeatse
        5
    iyeatse  
       2022-01-08 17:38:15 +08:00
    开发菜而已。他们完全可以在容器层拦截掉 a 标签跳转,然后根据容器是在开屏广告还是应用内部做不同处理。从发贴记录看来 你们的 iOS 开发已经不是第一次暴论了
    zror
        6
    zror  
    OP
       2022-01-08 19:57:57 +08:00
    @iyeatse 我们公司的 app 里有好几个 webview ,都是一个部门的,大家都自己干自己的,感觉互相都不认识也不交流。技术不怎么样,态度倒是非常 nb ,一个个都觉得自己是大爷,只要出错都不是自己的错,都让别人做兼容。
    一个简简单单的 H5 ,安卓 app 里正常,ios 新页面打开也正常,就是通过开屏广告打开不正常,然后还挺有理,说业界都这么处理,我也不懂,所以就上来问问
    zror
        7
    zror  
    OP
       2022-01-08 19:58:58 +08:00
    @markgor 开屏广告就是打开一个 H5 ,不跳转其他 app 。
    BB9z
        8
    BB9z  
       2022-01-08 21:47:03 +08:00   1
    楼主要求的是正常需求,正常做不存在任何技术难点。

    “其他协议换起打开的落地页如果是横屏的,会导致广告页面也横屏,所以业内都是按照两个 window 处理” 因为你们开发用了多个 window ,才有屏幕旋转问题,如果我做肯定是导航压栈,就不会有旋转的问题。我个人没见过正常业务要用另一个 window 覆盖去做,只有调试场景会用到。

    关键的问题是 a 链接和 jsbridge 形式,这两种都能拦截,不应有只能用 jsbridge 不能用链接的区别。这个我就猜不到你们开发用的什么方案了,非得要 jsbridge 。

    估计是你们应用已经有技术依赖了,要改变这一行为可能对系统会有不小的影响。
    ww940521
        9
    ww940521  
       2022-01-10 11:05:16 +08:00
    应该是设计的问题,开屏广告一直用的是 jsbridge ,改成 a 标签的话可能要动那一块逻辑实现兼容,懒得改代码罢了。
    ww940521
        10
    ww940521  
       2022-01-10 11:05:56 +08:00
    还有改代码的上线问题。
    zror
        11
    zror  
    OP
       2022-01-10 13:39:14 +08:00
    @ww940521 估计要是老板让改 马上就能改了
    110jiyinbo
        12
    110jiyinbo  
       2022-01-10 17:12:13 +08:00   1
    我觉得你们的 iOS app 设计是这样的,先用一个专门的 window 用来展示开屏广告,开屏广告展示结束后替换成业务的 window 。
    这样的话,在开屏广告 window 里的 H5 里直接打开 scheme 是无法直接跳转到业务那个 window 的页面的,所以你们开发解释需要用 jsbridge ,就是他需要在 scheme 跳转之前先把 window 切过去。
    当然,也可以通过拦截跳转地址或者在 AppDelegate 里面拦截 scheme 来处理,改代码麻烦点,而且老版本也无法兼容。
    然后我没懂解释那个横屏竖屏有啥关系,你们想把开屏广告直接做成 H5 ,那还有其他的落地页么。
    最后,非常不建议把 H5 作为开屏广告,就算是上次启动时先下载到本地,体验也不会好。我们这儿这种需求在评审的时候就直接枪毙了,还会认为这个产品非常不专业。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2733 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 33ms UTC 14:10 PVG 22:10 LAX 07:10 JFK 10:10
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86