zomato-ios-order-sdk 1.4.6

zomato-ios-order-sdk 1.4.6

测试已测试
语言语言 Obj-CObjective C
许可证 未知
发布最新版本2018年8月

Gurasis Singh维护。



  • Zomato Media Private Limited

快速开始

1. 在Podfile中添加以下行

pod 'zomato-ios-order-sdk'

2. 现在在您的终端中运行以下命令

pod install

初始化SDK

  • 在应用的AppDelegate中

      #import <ZO2Kit/ZOnlineOrderManager.h>    
    
  • 在 `didFinishLaunchingWithOptions` 中初始化 SDK

       [ZOnlineOrderManager setAPIKey:@"orderingsdkapikey" andAPISecret:@"secretkey"];
    
  • 要设置导航栏的背景颜色,请在此函数中传递颜色值

      [ZOnlineOrderManager setThemeColor:0xcb202d];
    

    注意:导航栏项的文字颜色为白色。

  • 要设置底部按钮的背景颜色,在此函数中传递颜色值

       [ZOnlineOrderManager setBottomBarColor:0x099e44];
    
  • 要为订单主页上的右侧导航栏按钮设置图片,请使用此函数

      [ZOnlineOrderManager setRightActionButtonImage:[UIImage imageNamed:@"<imageName>"]]
    

    注意:对于按钮操作的响应,将您的视图控制器作为代理设置为 [[ZOnlineOrderManager sharedInitializer] setDelegate:self] 并使用代理方法 didTapHomeRightActionBarButtonOnNavigationController:

  • 使用此方法设置用户的名称

      [[ZOnlineOrderManager sharedInitializer] setUserFullName:@"<Name>"]
    
  • 在开始订单流程后设置用户的电话号码

              [[ZOnlineOrderManager sharedInitializer] setUserPhoneNumber:@"<user's phone number>"];
    
  • 现在,你想下单,请在这个函数中输入你的电话号码

    • 用于模态显示

       [[ZOnlineOrderManager sharedInitializer] startOnlineOrderWithPhoneNumber:@"phone-number-10-digit" viewController:self];
      
    • 用于导航推送

      [[ZOnlineOrderManager sharedInitializer] startOnlineOrderWithPhoneNumber:@"phone-number-10-digit" pushOnNavViewController:self.navigationController];
      
  • 订单下单时,您将收到一个通知,其中包含PlaceOrderTab对象

      extern NSString *const zOrderPlaced;
    
  • 订单状态更改时,您将收到一个包含PlaceOrderTab对象的通知

      extern NSString *const zOrderStatusChanged;
    
  • 在开始订单流程之前设置餐厅ID以打开特定的餐厅

      [[ZOnlineOrderManager sharedInitializer] setRestaurantId:<res_id>];
    
  • 在以下函数中传递订单编号以打开订单详情

      [[ZOnlineOrderManager sharedInitializer] showOrderDetailViewControllerForOrderID:@"<order-id-string>" viewController:self];
    
  • 设置zomato用户token,在开始在线订购流程之前您需要调用此函数

      [[ZOnlineOrderManager sharedInitializer] setZomatoUserToken:@"zomatoUserToken"];
    
  • 获取zomato用户token,您需要调用此函数,并且函数的参数在中生成令牌后被调用

      [[ZOnlineOrderManager sharedInitializer] getZomatoUserTokenWithCompletionHandler:^(NSError *error, NSString *zomatoUserToken){ // code  }];
    

    注意:无论何时从主应用程序启动订购流程,都会生成一个访问令牌,该令牌保存在本地设备存储中,并类似于会话ID。因此,所有用户活动(订单,保存的地址)都映射到此访问令牌。用户的Zomato账户与这个账户完全独立。卸载应用程序、注销并清除数据将从本地存储中删除访问令牌,并为下次生成新的令牌。这可能会导致与该特定用户关联的详细信息丢失。因此,如果应用程序想要维护用户数据映射,则必须保存访问令牌。

  • 删除所有用户日志

      [ZOnlineOrderManager invalidate];
    
  • PlaceOrderTab 对象引用:

      PlaceOrderTabObject.tabId : To get orderId
    
      PlaceOrderTabObject.statusText : To get Order Status
    
      PlaceOrderTabObject.createdTimeString : To get order Timing
    
      PlaceOrderTabObject.restaurant.name : To get Restaurant Name
    
      PlaceOrderTabObject.restaurant.location.locality : To get Restaurant Subzone
    
      PlaceOrderTabObject.restaurant.restThumbURL : To get Restaurant image
      
      PlaceOrderTabObject.order.itemsArray : An array of PlaceOrderItem objects
    
  • PlaceOrderItem 对象:

      PlaceOrderItem object has 'type' property which can take one of following values:
      	"dish" : food item 
    
      	"subtotal2" : subtotal (sum of the price of all dishes, without taxes or charges)
    
      	"tax" : tax (eg. VAT, Service Tax)
    
      	"charge" : extra charge (eg. Packaging Charge)
    
      	"extra" : extra charge (eg. Delivery Charge)
    
      	"voucher_discount" : discount given after applying any promo code
    
      	"dominos_coupon" :  discount given on orders placed at Domino’s after applying any promo code
    
      	"salt_discount", "salt_discounts" : discount automatically given by the merchant
    
      	"total_merchant" : amount charged by the merchant ( (subtotal2 + taxes + charges)- promo discount given by merchant [salt_discount])
    
      	"total", "total_user" : amount charged to the user (total_merchant - promo discount after applying code [voucher_discount])
    
    
      Other properties of PlaceOrderItem object are: 
      	quantity
      	totalCost
      	itemName
      	unitCost