2011-01-26 5 views
2

다음은 필자의 시나리오입니다. 소모품이있는 iPhone 앱 (Monotouch로 작성되었지만 디자인과 아무런 관련이 없음)이 있습니다. 앱을 설치하면 25 개의 무료 소모품을 제공합니다. 사용자가 앱을 삭제하고 다시 설치하면 현재 25 개의 무료 소모품이 제공됩니다. 나는 이것을 방지 할 방법이 필요합니다.웹 서비스에 대한 도움이 필요합니다.

그래서 UDID 목록이있는 서버 (내 웹 사이트 호스트)에 데이터베이스 아이디어가 떠 올랐습니다. 사용자의 UDID가 데이터베이스에 있으면 (즉, 앱을 이미 설치했음을 의미합니다) 앱에 다시 응답이 전송되어 소모품 수를 0으로 설정합니다. UDID가 d/b에 없으면 추가되고 응답이 표시됩니다 (새 앱).

나는 서버 측을 위해 REST (더 간단하게)와 리눅스 호스트를 사용할 생각이다. 내 질문 :

  1. 더 좋은 방법이 있나요?
  2. 서버에서 선택한 언어는 무엇입니까?
  3. sqlREST는 어떻습니까? (나에게 잘 보이지만 위의 시나리오에서 작동합니까?)
+0

사용자가 기기를 업그레이드하거나 교체하고 새 UDID를 받으면 어떻게됩니까? – Jason

+0

그들은 새로운 전화로 소모품을 옮기기 위해 우리에게 연락해야 할 것입니다 ... 나는 속임수에 대해 우려하고 있습니다 (아마도 인구 중 아주 작은 비율). 또한 암호화 된 데이터를 서버에 저장해야하는 새 앱이 있으므로 새로운 앱의 웹 서비스도 필요합니다. – SpokaneDude

답변

1

글쎄, 내가 선택한 언어가 무엇인지 알려줄 수 있습니다. ASP.NET/C#을 SQL Server DB와 함께 사용하면됩니다. 한 달에 몇 달 동안이 조합을 제공하는 호스팅 업체에서 웹 사이트를 운영하고 있습니다.

웹 서비스가 필요하지 않습니다. 서버에 ASPX 페이지를 설치하고 NSString.FromUrl (또는 메서드가 호출 된 곳)을 사용하여 호출 할 수 있습니다. "mycounter.aspx? udid = 1234". 페이지가 호출 될 때마다 전달 된 장치 ID의 수를 늘리고 남은 요청의 수만 출력합니다. 클라이언트는 정수에 대한 응답을 구문 분석하고 0 일 경우 사용자에게 알려줍니다.

악의적 인 Krumelur가 사용자의 URL로 이동하여 임의의 장치 ID로 호출하여 사용하지 못하게하는 일부 해싱을 추가해야합니다. :-)

René

0

답변은 실제로 웹 호스트에 따라 다릅니다. 그리고 그들이 무엇을 지원하는지. 아마도 거래량에 따라 달라집니다.

Monotouch를 사용하고 있으므로 저는 .net/C# world에서 편안하다고 가정 할 것입니다.

나는 C#으로 작성된 WCF 웹 서비스를 살펴볼 것이다. 이것은 차례로 SQL 서버를 저장 용으로 사용합니다. 물론 SQL 서버 저장 프로 시저로 바로 갈 수 있습니다.

sqlREST는 흥미 롭지 만 작동하려면 Appache + Tomcat 스택을 실행해야하는 것처럼 보입니다.

가장 낮은 막대를 사용하면 다른 포스터에 동의하는 것입니다. ASP.NET + SQL 서버에서도이 작업을 수행 할 수 있습니다.

관련 문제