Unity Android Callback

Unity Android Callback

在 Unity 建立一個 Callback 讓 Android plugin 做完某事之後呼叫.


一、Eclipse
1. 建立一個 interface

例:

[java]  view plain copy print ?
  1. public interface CAdLocusListenerCallBack {  
  2.  void onReceiveAd();  
  3.  void onFailedToReceiveAd(int errorcode);  
  4. }  

2. 把它加入至某 class 裡
例:
[java]  view plain copy print ?
  1. public class CAdLocus  
  2. {  
  3.     //callback.  
  4.     CAdLocusListenerCallBack listenerCB = null;  
  5.   
  6.     public void SetListenerCB(CAdLocusListenerCallBack cb)  
  7.     {  
  8.      listenerCB = cb;  
  9.     }  
  10. }  
3.做完事後呼叫 Callback
例:
[java]  view plain copy print ?
  1. public void onReceiveAd(Ad adView )  
  2. {  
  3.  //AdLocusLayout llayout = (AdLocusLayout)adView;  
  4.  if (listenerCB != null)  
  5.  {  
  6.   listenerCB.onReceiveAd();  
  7.  }  
  8. }  
  9.   
  10.   
  11. public void onFailedToReceiveAd(Ad adView , com.adlocus.AdLocusLayout$ErrorCode errorCode)  
  12. {  
  13.   if (listenerCB != null)  
  14.   {  
  15.    listenerCB.onFailedToReceiveAd(1);  
  16.   }  
  17. }  
二、Unity
1.建立 Callback 腳本
例:
[csharp]  view plain copy print ?
  1. public class AdLocusListenerCallBack : AndroidJavaProxy  
  2. {  
  3.  public AdLocusListenerCallBack():base("com.ad.adlocus.CAdLocusListenerCallBack")  
  4.  {  
  5.  }  
  6.  void onReceiveAd()  
  7.  {  
  8.  }  
  9.  void onFailedToReceiveAd(int errorcode)  
  10.  {  
  11.  }  
  12. }  
2.對 Plugin 註冊 Callback
例:
[csharp]  view plain copy print ?
  1. AndroidJavaClass player = new AndroidJavaClass( "com.unity3d.player.UnityPlayer" );  
  2. AndroidJavaObject activity = player.GetStatic<AndroidJavaObject>("currentActivity");  
  3. AdLocusJo = new AndroidJavaObject("com.ad.adlocus.CAdLocus", activity);  
  4. AdLocusListenerCallBack AdListenerCB = new AdLocusListenerCallBack();  
  5. AdLocusJo.Call("SetListenerCB", AdListenerCB);  
四、最後
也有人是直 sendmessage 的方式接調用 Unity 物件的函式,
例:

[java]  view plain copy print ?
  1. //unity  
  2. void gameobjectFunction(string parm)  
  3. {  
  4. }  
  5. //Java  
  6. UnityPlayer.UnitySendMessage("gameobjectName""gameobjectFunction""parms");  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值