برای استفاده از سرویس Myket licensing فایل برنامهی نمونه را از اینجا دانلود کنید. کافی است ساختار پروژهی Unity خود را مانند برنامهی نمونه تنظیم کنید.
در فایل CheckLVLButton.cs متغیر m_PublicKey_Base64 را بیابید و کلید عمومی را که از پنل توسعهدهندگان دریافت کردهاید، در m_PublicKey_Base64 وارد کنید. زمانی که برنامه اجرا میشود متد LoadServiceBinder به سرویس Myket licensing متصل میشود.
حال کافی است که در OnGUI، تکه کد زیر اجرا شود تا درخواست برای مایکت ارسال گردد:
m_Nonce = new System.Random().Next(); object[] param = new object[] { new AndroidJavaObject[] { m_Activity } }; AndroidJavaObject[] ctors = m_LVLCheckType.Call<AndroidJavaObject[]>("getConstructors"); m_LVLCheck = ctors[0].Call<AndroidJavaObject>("newInstance", param); m_LVLCheck.Call("create", m_Nonce, new AndroidJavaRunnable(Process));
و زمانی که شرط زیر برقرار شد و m_ResponseCode_Received برابر با ۰ بود، میتوانید برنامهی خود را اجرا کنید:
if (m_LVLCheck == null && m_LVL_Received) { GUI.Label(new Rect(10, 420, 450, 20), "Received LVL response:"); GUI.Label(new Rect(20, 440, 450, 20), "Response code = " + m_ResponseCode_Received); GUI.Label(new Rect(20, 460, 450, 20), "Package name = " + m_PackageName_Received); GUI.Label(new Rect(20, 480, 450, 20), "Received nonce = 0x" + m_Nonce_Received.ToString("X")); GUI.Label(new Rect(20, 500, 450, 20), "Version code = " + m_VersionCode_Received); GUI.Label(new Rect(20, 520, 450, 20), "User ID = " + m_UserID_Received); GUI.Label(new Rect(20, 540, 450, 20), "Timestamp = " + m_Timestamp_Received); GUI.Label(new Rect(20, 560, 450, 20), "Max Retry = " + m_MaxRetry_Received); GUI.Label(new Rect(20, 580, 450, 20), "License Validity = " + m_LicenceValidityTimestamp_Received); GUI.Label(new Rect(20, 600, 450, 20), "Grace Period = " + m_GracePeriodTimestamp_Received); GUI.Label(new Rect(20, 620, 450, 20), "Update Since = " + m_UpdateTimestamp_Received); GUI.Label(new Rect(20, 640, 450, 20), "Main OBB URL = " + m_FileURL1_Received.Substring(0, Mathf.Min(m_FileURL1_Received.Length,50)) + "..."); GUI.Label(new Rect(20, 660, 450, 20), "Main OBB Name = " + m_FileName1_Received); GUI.Label(new Rect(20, 680, 450, 20), "Main OBB Size = " + m_FileSize1_Received); GUI.Label(new Rect(20, 700, 450, 20), "Patch OBB URL = " + m_FileURL2_Received.Substring(0, Mathf.Min(m_FileURL2_Received.Length,50)) + "..."); GUI.Label(new Rect(20, 720, 450, 20), "Patch OBB Name = " + m_FileName2_Received); GUI.Label(new Rect(20, 740, 450, 20), "Patch OBB Size = " + m_FileSize2_Received); }