Unity 之 使用Mac原生好评

举报
陈言必行 发表于 2021/12/15 07:59:49 2021/12/15
【摘要】 本文通过Mac端原生好评示例,教你学会Unity和macOS交互。

前言

本文通过Mac端原生好评示例,教你学会Unity和macOS交互。


一,xCode端处理

1.1 创建Bundle

打开xCode选项卡选择macOs --> Bundle 然后点击Next下一步

填写名称,包名等信息,然后点击Next下一步

1.2 写OC代码

在工程上右键 --> New File… 分别创建.h和.m文件:

分别命名为ReviewUnity.hReviewUnity.m

创建完成:

脚本内容如下:
ReviewUnity.h

//
//  ReviewUnity.h
//  Unity-iPhone
//
//  Created by Czhenya on 2021/11/22.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@interface RequestReviewUnity : NSObject

@end

NS_ASSUME_NONNULL_END

ReviewUnity.m

//
//  ReviewUnity.m
//  Unity-iPhone
//
//  Created by Czhenya on 2021/11/22.
//

#import "ReviewUnity.h"
#import <StoreKit/StoreKit.h>

@implementation RequestReviewUnity

@end

#if defined (__cplusplus)
extern "C"
{
#endif
    
    void ShowReview(){
        [SKStoreReviewController requestReview];
    }
    
#if defined (__cplusplus)
}
#endif

1.3 生成.bundle库

运行xCode,完成后就生成了.bundle库,将其直接导入到Unity中即可。

进到文件加中查看:


二,Unity端处理

2.1 .bundle库导入Unity

将上面生成的.bundle,直接导入到Unity的Plugins文件加下:

2.2 写调用代码

引用命名空间using System.Runtime.InteropServices;

使用DllImport导入上面导入的.bundle,语法:[DllImport("bundle名")]

注意:这种分平台的东西,使用宏定义区分好,避免实际使用中分平台时来了不必要的麻烦。

C#调用代码:

using System.Runtime.InteropServices;
using UnityEngine;

public class PrimordialEvaluateSDK : MonoBehaviour
{
    void Start()
    {
        PrimordialEvaluateByMac();
    }

#if UNITY_STANDALONE_OSX

    [DllImport("ReviewUnity")]
    private static extern void ShowReview();

#endif

    public void PrimordialEvaluateByMac()
    {
#if UNITY_STANDALONE_OSX
        ShowReview();
#endif
    }
}

三,效果展示

Unity工程中效果:

打Mac包后效果:


3.1 源码分享

上面示例Demo分享:下载地址

积分不足的同学,可以V信关注:开发同学留步,回复“Mac好评” 自助获取


四,相关文档

Unity 官方文档:macOS 播放器:适用于 IL2CPP 的 C++ 源代码插件

Unity 官方文档:为桌面平台(Windows,Mac,Linux)构建插件

官方Demo链接

【版权声明】本文为华为云社区用户原创内容,未经允许不得转载,如需转载请自行联系原作者进行授权。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。