Google 登录参考:
a.以下链接是Google 登录unity sdk 插件文档 直接导入即可
https://github.com/googlesamples/google-signin-unity/releases
b.以下是YouTube上参考视频,如果找不到可以在YouTube 上搜索‘firebase google sign in unity’
YouTube视频: https://www.youtube.com/watch?v=K-5ZtjCP3r8&t=505s
演示APK: https://www.dropbox.com/s/zo5zretv56w5mxz/signindemo.apk?dl=0
登录完整脚本:https://www.dropbox.com/s/qss2wk4v52d48j4/GoogleSignInDemo.cs?dl=0
完整项目:
https://www.dropbox.com/s/0fbg9lxchvhwe5j/Google%20Sign%20In%20Demo.zip?dl=0
c.以下是注意事项:
Google Clud中 凭证 里面有个 OAuth2.0客户端ID,需要有个Android客户端id ,web客户端无法再手机登录。如下图
地址:https://console.cloud.google.com/apis/credentials?project=mass-bf4f7
PPS:如果需要接入Firebase 支持多种登录,可以参考(b)项目,该视频里面包含如何使用
Google 广告接入参考:
a.地址
GoogleAdMob网址:
https://apps.admob.com/v2/apps/5239834645/overview?utm_source=internal&utm_medium=et&utm_campaign=helpcentrecontextualopt&utm_term=http%3A%2F%2Fgoo.gl%2F6Xkfcf&subid=ww-ww-et-amhelpv4&pli=1
Unity SDK 地址: https://developers.google.cn/admob/unity/quick-start
示例工程地址:
https://github.com/googleads/googleads-mobile-unity/tree/main/samples/HelloWorld
插件下载:如下图
下载之后直接导入,然后需要设置在GoogleAdMob中申请的应用id
b. 插件导入之后unity设置如下:
Assets > Google Mobile Ads > Settings之后出现如下图:
Facebook 分享参考:
a.参考地址:
Facebook Developers 地址:
https://developers.facebook.com/apps/3207754056132292/settings/basic/
参考地址:https://blog.csdn.net/NRatel/article/details/84241100
b.注意事项
调用分享之前需要初始化Facebook,如下图
代码:
using Google;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading.Tasks;
using UnityEngine;
/// <summary>
/// Google 登录
///
/// </summary>
public class GoogleLoginInSDK : MonoBehaviour
{
public string webClientId = "753894345350-pbqn5htaekhq8jcbctg6n5tgj55qvmd6.apps.googleusercontent.com";
private GoogleSignInConfiguration configuration;
// Start is called before the first frame update
void Start()
{
configuration = new GoogleSignInConfiguration {
WebClientId = webClientId, RequestEmail = true, RequestIdToken = true };
}
/// <summary>
/// 登录
/// </summary>
public void SignInWithGoogle()
{
Debug.Log("Calling SignIn");
GoogleSignIn.Configuration = configuration;
GoogleSignIn.Configuration.UseGameSignIn = false;
GoogleSignIn.Configuration.RequestIdToken = true;
GoogleSignIn.DefaultInstance.SignIn().ContinueWith(OnAuthenticationFinished);
}
internal void OnAuthenticationFinished(Task<GoogleSignInUser> task)
{
// if it failed, then show the error. Else continue with firebase.
Debug.Log("OnAuthenticationFinished:1" + (task.IsFaulted) + " " + task.IsCanceled);
if (task.IsFaulted)
{
Debug.LogError(task.Exception.Message);
using (IEnumerator<Exception> enumerator = task.Exception.InnerExceptions.GetEnumerator())
{
var _bo = enumerator.MoveNext();
if (_bo)
{
GoogleSignIn.SignInException error = (GoogleSignIn.SignInException)enumerator.Current;
}
else
{
Debug.Log("Got Unexpected Exception?!?" + task.Exception);
}
}
}
else if (task.IsCanceled)
{
Debug.Log("Canceled");
}
else
{
Debug.Log("Welcome: " + task.Result.DisplayName + "!");
Debug.Log("Email = " + task.Result.Email);
Debug.Log("Google ID Token = " + task.Result.IdToken);
Debug.Log("Email = " + task.Result.Email);
Debug.Log(task.Result.IdToken);
}
}
/// <summary>
/// 登出
/// </summary>
public void SignOutFromGoogle()
{
Debug.Log("Calling SignOut");
GoogleSignIn.DefaultInstance.SignOut();
}
}
using UnityEngine.Events;
using UnityEngine;
using GoogleMobileAds.Api;
using GoogleMobileAds.Common;
using UnityEngine.UI;
using System;
using System.Collections.Generic;
public class GoogleAdMobSDK : MonoBehaviour
{
public Text infoText;
#region
#if UNITY_IPHONE
/// <summary>
/// 开屏广告
/// </summary>
private readonly string AppOpenAdID = "ca-app-pub-3940256099942544/5662855259";
/// <summary>
/// 横幅广告
/// </summary>
private readonly string BannerAdID = "ca-app-pub-3940256099942544/2934735716";
/// <summary>
/// 插页式广告
/// </summary>
private readonly string InterstitialAdID = "ca-app-pub-3940256099942544/4411468910";
/// <summary>
/// 激励广告
/// </summary>
private readonly string RewardedAdID = "ca-app-pub-3940256099942544/1712485313";
/// <summary>
/// 插页式激励广告
/// </summary>
private readonly string RewardedInterstitialAdID = "ca-app-pub-3940256099942544/6978759866";
/// <summary>
/// 原生广告
/// </summary>
private readonly string NativeAdID = "ca-app-pub-3940256099942544/3986624511";
#elif UNITY_ANDROID
/// <summary>
/// 开屏广告
/// </summary>
private readonly string AppOpenAdID = "ca-app-pub-3940256099942544/3419835294";
/// <summary>
/// 横幅广告
/// </summary>
private readonly string BannerAdID = "ca-app-pub-3940256099942544/6300978111";
/// <summary>
/// 插页式广告
/// </summary>
private readonly string InterstitialAdID = "ca-app-pub-3940256099942544/1033173712";
/// <summary>
/// 激励广告
/// </summary>
private readonly string RewardedAdID = "ca-app-pub-3940256099942544/5224354917";
/// <summary>
/// 插页式激励广告
/// </summary>
private readonly string RewardedInterstitialAdID = "ca-app-pub-3940256099942544/5354046379";
/// <summary>
/// 原生广告
/// </summary>
private readonly string NativeAdID = "ca-app-pub-3940256099942544/2247696110";
#endif
#endregion
private readonly TimeSpan APPOPEN_TIMEOUT = TimeSpan.FromHours(4);
private DateTime appOpenExpireTime;
private AppOpenAd appOpenAd;
private BannerView bannerView;
private InterstitialAd interstitialAd;
private RewardedAd rewardedAd;
private RewardedInterstitialAd rewardedInterstitialAd;
private float deltaTime;
private bool isShowingAppOpenAd;
public UnityEvent OnAdLoadedEvent;
public UnityEvent OnAdFailedToLoadEvent;
public UnityEvent OnAdOpeningEvent;
public UnityEvent OnAdFailedToShowEvent;
public UnityEvent OnUserEarnedRewardEvent;
public UnityEvent OnAdClosedEvent;
public bool showFpsMeter = true;
#region UNITY MONOBEHAVIOR METHODS
public void Start()
{
MobileAds.SetiOSAppPauseOnBackground(true);
List<String> deviceIds = new List<String>() {
AdRequest.TestDeviceSimulator };
// 添加一些测试设备 ID(替换为您自己的设备 ID)。
#if