//
// GuomobWallView.h
// GuoMobWallSample
//
// Created by keyrun on 14-1-21.
// Copyright (c) 2014年 AK. All rights reserved.
// #import <Foundation/Foundation.h>
#import "GuoMobWallViewController.h" @interface GuomobWallView : NSObject @end
//
// GuomobWallView.m
// GuoMobWallSample
//
// Created by keyrun on 14-1-21.
// Copyright (c) 2014年 AK. All rights reserved.
// #import "GuomobWallView.h"
#import "GuoMobWallViewController.h"
static GuoMobWallViewController * guomobwall=nil;
@implementation GuomobWallView +(void)InitGuoMobWall:(NSString *)appkey updatetime:(int)updatetime modelname:(NSString *)name{
if (!guomobwall) {
guomobwall=[[GuoMobWallViewController alloc]initWithId:appkey Model:name];
guomobwall.updatetime=updatetime;
}
}
extern "C" void InitGuoMobWall(const char * appkey,int time,const char * ModelName)
{
[GuomobWallView InitGuoMobWall:[NSString stringWithUTF8String:appkey] updatetime:time modelname:[NSString stringWithUTF8String:ModelName]];
}
extern "C" void LoadGuoMobWall(int rotation,int screen)
{
if (guomobwall) {
[guomobwall pushGuoMobWall:rotation Hscreen:screen];
}
}
extern "C" void GuoMobWallSetOtherID(const char * OtherID)
{
if (guomobwall) {
guomobwall.OtherID=[NSString stringWithUTF8String:OtherID];
}
}
extern "C" void GuoMobWallSetStatusBar(int isStatusBarHidden)
{
if (guomobwall) {
guomobwall.isStatusBarHidden=isStatusBarHidden;
}
}
extern "C" int GuoMobWallreadpoint()
{
if (guomobwall) {
int point=[guomobwall readPoint];
return point;
}
return nil;
}
extern "C" void GuoMobWallwritepoint(int point)
{
if (guomobwall) {
[guomobwall writePoint:point];
}
}
extern "C" int GuoMobWallcheckpoint()
{
if (guomobwall) {
int point=[guomobwall checkPoint];
return point;
}
return nil;
}
extern "C" void GuoMobWallupdatepoint()
{
if (guomobwall) {
[guomobwall updatePoint];//更新积分
}
}
extern "C" void ReleaseGuoMobWall()
{
if(guomobwall!=nil)
{
[guomobwall release];
guomobwall=nil;
}
}
- (void)dealloc
{
if(guomobwall!=nil)
{
[guomobwall release];
guomobwall=nil;
}
[super dealloc];
}
@end
//
// GuoMobWall.h
// GuoMobWall
//
// Created by qq on 12-11-21.
// Copyright (c) 2012年 AK. All rights reserved.
//
#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h> @interface GuoMobWallViewController : UIViewController - (id)initWithId:(NSString *)appKey Model:(NSString*)name;
-(void)pushGuoMobWall:(BOOL)allow Hscreen:(BOOL)isHscreen;
//查询积分
- (int)checkPoint;
//读取所有积分并清空
- (int)readPoint;
//追加积分
- (void)writePoint:(int)writepoint;
//刷新积分
-(void)updatePoint; @property(nonatomic)NSTimeInterval updatetime;//自动刷新积分的时间间隔
@property(nonatomic)BOOL isStatusBarHidden;//积分墙是否显示状态栏
@property(nonatomic,copy) NSString * OtherID;//使用积分服务器回调时候的可选参数
@end
GuoMobWall.cs
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class GuoMobWall : MonoBehaviour { // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { } [DllImport("__Internal")]
private static extern void InitGuoMobWall(string appkey,int updatetime,string ObjectName);
[DllImport("__Internal")]
private static extern void LoadGuoMobWall(int rotation,int screen);
[DllImport("__Internal")]
private static extern void GuoMobWallSetOtherID(string OtherID);
[DllImport("__Internal")]
private static extern void GuoMobWallSetStatusBar(int isStatusBarHidden);
[DllImport("__Internal")]
private static extern int GuoMobWallreadpoint();
[DllImport("__Internal")]
private static extern void GuoMobWallwritepoint(int point);
[DllImport("__Internal")]
private static extern int GuoMobWallcheckpoint();
[DllImport("__Internal")]
private static extern void GuoMobWallupdatepoint();
[DllImport("__Internal")]
private static extern void ReleaseGuoMobWall(); //初始化积分墙 参数: appkey:果盟广告密钥 //updatetime:设置自动刷新积分的时间间隔
//******注:不设置该updatetime参数的话,SDK默认为20秒,自动刷新时间最小值为15******
//******设置updatetime为0为不自动刷新,开发者自己去控制刷新****** //ObjectName: GMWallDelegate.cs脚本绑定的Object名称 比如 Main Camera
public static void U3DInitGuoMobWall(string appkey,int updatetime,string ObjectName)
{ if(Application.platform == RuntimePlatform.IPhonePlayer)
{
InitGuoMobWall(appkey,updatetime,ObjectName);
}
} //加载积分墙 rotation:积分墙是否自适应旋转 1---旋转, 0---不旋转
// screen:积分墙初始横竖屏状态 1---横屏, 0---竖屏
public static void U3DLoadGuoMobWall(int rotation,int screen)
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
LoadGuoMobWall(rotation,screen);
}
}
public static void U3DGuoMobWallSetOtherID(string OtherID)
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
GuoMobWallSetOtherID(OtherID);
}
}
public static void U3DGuoMobWallSetStatusBar(int isStatusBarHidden)
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
GuoMobWallSetStatusBar(isStatusBarHidden);
}
} //读取积分,全部读取积分并且清零,返回整形的积分
public static int U3DGuoMobWallreadpoint()
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
return GuoMobWallreadpoint();
}
return ;
} //添加积分,减分参数请设置为负数
public static void U3DGuoMobWallwritepoint(int point)
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
GuoMobWallwritepoint(point);
}
} //查询积分,不清零,返回整形的积分
public static int U3DGuoMobWallcheckpoint()
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
return GuoMobWallcheckpoint();
}
return ;
} //更新服务器已经完成任务但没有取走的积分
public static void U3DGuoMobWallupdatepoint()
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
GuoMobWallupdatepoint();
}
} //释放积分墙,释放后会停止自动更新积分,释放后再次加载需要重新初始化积分墙
public static void U3DReleaseGuoMobWall()
{
if(Application.platform == RuntimePlatform.IPhonePlayer)
{
ReleaseGuoMobWall();
}
} }
GMWallDelegate.cs
using UnityEngine;
using System.Collections; public class GMWallDelegate : MonoBehaviour { // Use this for initialization
void Start () { } // Update is called once per frame
void Update () { } //加载回调 表示加载成功
void loadWallAdSuccess()
{
print("loadWallAdSuccess");
} //加载积分墙出错时候的回调 返回错误信息
void GMWallDidFailWithError(string error){
print(error);
} //更新积分出错时候的回调 返回错误信息
void GMUpdatePointError(string error){
print(error);
} //点击下载按钮
void onClickDownLoad(){
print("onClickDownLoad");
} //点击返回按钮
void onClickBack(){
print("onClickBack");
} //
//可以只在积分point不为0的情况下提示, 回调格式为:
// 名字,积分 如: 新三国,200 表示用户通过下载新三国得到了200积分
void GMWallGetPoint(string NameAndPoint){
print(NameAndPoint);
}
}