zoukankan      html  css  js  c++  java
  • ios 显示其他app的购买页面

     
    using UnityEngine;
    using System.Collections;
    using System.Runtime.InteropServices ;
    
    public class IOSDoor : MonoBehaviour {
    
        // Use this for initialization
        void Start () {
        
        }
        
        // Update is called once per frame
        void Update () {
        
        }
     
    
        [DllImport("__Internal")]
        private static extern void ShowBook ( int  bookid );
        
        public static void ActivateButton0 ()
        {
            Debug.Log (2333);
            if (Application.platform != RuntimePlatform.OSXEditor) 
            {
                //点击按钮后调用xcode中的 _PressButton0 ()方法,
                //方法中的内容须要我们自己来添加
                ShowBook (1073005459);
            }
        }
    
    
        [DllImport("__Internal")]
        private static extern void _ShowBookApp ( string  bookid );
        
        public static void ShowBookApp (string  bookid )
        {
            Debug.Log (2333 + "ShowBookStr" + bookid);
            if (Application.platform != RuntimePlatform.OSXEditor) 
            {
                //点击按钮后调用xcode中的 _PressButton0 ()方法,
                //方法中的内容须要我们自己来添加
                _ShowBookApp ("1073005459");
            }
        }
    
     
    }
    - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
    {
         
    ..............................
    NSLog(@"eeee") ; UnityViewController * uv = [[UnityViewController alloc] init] ; //[uv.view setFrame:CGRectMake(0, 200, 320, 200)]; //uv.view.backgroundColor = [UIColor blackColor]; [UnityGetGLViewController().view addSubview:uv.view] ; [UnityViewController setInstance:uv]; return YES; }
    //
    //  UnityViewController.h
    //  Unity-iPhone
    //
    //  Created by lc—— on 16/6/13.
    //
    //
    
    #import <UIKit/UIKit.h>
    #import <StoreKit/StoreKit.h>
    
    @interface UnityViewController : UIViewController<SKStoreProductViewControllerDelegate>
    
    
    - (void)showStoreProductInApp:(NSString *)appID ;
    +(void) setInstance: ( UnityViewController *) inst ;
    +(UnityViewController *)  getInstance ;
    @end
    //
    //  UnityViewController.m
    //  Unity-iPhone
    //
    //  Created by lc—— on 16/6/13.
    //
    //
    
    #import "UnityViewController.h"
    
    @interface UnityViewController ()
    
    @end
    
    @implementation UnityViewController
    
    void ShowBook(  int  bookID )
    {
        NSLog(@"rrrrr") ;
      //[[UnityViewController getInstance] showStoreProductInApp:@"1073005459"];
        [[UnityViewController getInstance] showStoreProductInApp:[NSString stringWithFormat:@"%d" , bookID]];
    }
    void _ShowBookApp( const char *  bookID )
    {
        NSString * bookIDStr = [NSString stringWithUTF8String:bookID] ;
        NSLog(@"rrrr r --- %@" , bookIDStr) ;
        [[UnityViewController getInstance] showStoreProductInApp:@"1073005459"];
       // NSString * bookIDStr = [NSString stringWithUTF8String:bookID] ;
        //[[UnityViewController getInstance] showStoreProductInApp:bookIDStr];
    }
    
    
    void _ShowBookStar( const char *  bookID )
    {
        NSLog(@"rrrrr") ;
       // //[[UnityViewController getInstance] showStoreProductInApp:@"1073005459"];
      NSString * bookIDStr = [NSString stringWithUTF8String:bookID] ;
     [[UnityViewController getInstance] loadAppStoreController:bookIDStr];
    }
    
    
    static  UnityViewController * instance ;
    +(UnityViewController *)  getInstance
    {
        return instance ;
    }
    
    +(void) setInstance: ( UnityViewController *) inst
    {
        instance = inst ;
    }
     
    - (void)viewDidLoad {
        [super viewDidLoad];
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    - (void)loadAppStoreController:(NSString *)appID
    
    {
        
        NSLog(@"rrrrr--loadAppStoreController") ;
        // 初始化控制器
        
        SKStoreProductViewController *storeProductViewContorller = [[SKStoreProductViewController alloc] init];
        
        // 设置代理请求为当前控制器本身
        
        storeProductViewContorller.delegate = self;
        
        [storeProductViewContorller loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier:appID}  completionBlock:^(BOOL result, NSError *error)   {
            
            if(error)
                
            {
                
                NSLog(@"error %@ with userInfo %@",error,[error userInfo]);
                
            }  else
                
            {
                
                // 模态弹出appstore  
                
                [self presentViewController:storeProductViewContorller animated:YES completion:^{  
                    
                }];  
                
            }  
            
        }];  
        
    }
    
    - (void)showStoreProductInApp:(NSString *)appID{
        
        Class isAllow = NSClassFromString(@"SKStoreProductViewController");
        
        NSLog(@"ttt") ;
        
        if (isAllow != nil) {
            
            SKStoreProductViewController *sKStoreProductViewController = [[SKStoreProductViewController alloc] init];
            [sKStoreProductViewController.view setFrame:CGRectMake(0, 200, 320, 200)];
            [sKStoreProductViewController setDelegate:self];
            [sKStoreProductViewController loadProductWithParameters:@{SKStoreProductParameterITunesItemIdentifier: appID}
                                                    completionBlock:^(BOOL result, NSError *error) {
                                                        if (result) {
                                                            [self presentViewController:sKStoreProductViewController
                                                                               animated:YES
                                                                             completion:nil];
                                                            // [self removeNotice];
                                                            
                                                        }else{
                                                            NSLog(@"error:%@",error);
                                                        }
                                                    }];
        }else{
            //低于iOS6的系统版本没有这个类,不支持这个功能
            NSString *string = [NSString stringWithFormat:@"itms-apps://itunes.apple.com/xxxxxxx/app/id%@?mt=8",appID];
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:string]];
        }
    }
    
    #pragma mark - SKStoreProductViewControllerDelegate
    - (void)productViewControllerDidFinish:(SKStoreProductViewController *)viewController {
        [viewController dismissViewControllerAnimated:YES completion:nil];
    }
    
    
    /*
    #pragma mark - Navigation
    
    // In a storyboard-based application, you will often want to do a little preparation before navigation
    - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
        // Get the new view controller using [segue destinationViewController].
        // Pass the selected object to the new view controller.
    }
    */
    
    @end
     
  • 相关阅读:
    函数集
    2019.1.7
    第九次团队作业-测试报告与用户使用手册
    α版本升升备忘录下载链接
    系统设计和任务分配(个人)
    团队作业说明
    备忘录-团队选题报告
    需求分析与原型设计---升升备忘录
    项目——四则运算器
    Hello Django
  • 原文地址:https://www.cnblogs.com/didiaodexi/p/5580879.html
Copyright © 2011-2022 走看看